Pandas中df常用方法介绍
目录
- 常用方法
- df.columns
- df.index
- df.values
- df.T
- df.sort_index()
- df.sort_values()
- 案例
常用方法
df.columns
df.columns 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 中的列标签(列名)。
基本语法如下:
df.columns
该属性返回一个包含 DataFrame 中所有列标签的 Index 对象,您可以将其视为一个包含列标签的列表。
示例:
import pandas as pd
# 创建一个 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 获取 DataFrame 的列标签
columns = df.columns
print(columns)
Index(['A', 'B'], dtype='object')
df.index
df.index 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 的行标签(行索引)。
基本语法如下:
df.index
该属性返回一个表示 DataFrame 的行索引的 Index 对象,类似于一个包含行标签的列表。
示例:
import pandas as pd
# 创建一个 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 获取 DataFrame 的行索引
index = df.index
print(index)
RangeIndex(start=0, stop=3, step=1)
df.values
df.values 是 Pandas 中 DataFrame 对象的一个属性,用于获取 DataFrame 中的数据部分,即 DataFrame 的值。
基本语法如下:
df.values
该属性返回一个包含 DataFrame 中所有数据的 NumPy 数组。每行代表 DataFrame 中的一行数据,每列代表 DataFrame 中的一列数据。
示例:
import pandas as pd
# 创建一个 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 获取 DataFrame 的值
df_values = df.values
print(df_values)
[[1 4]
[2 5]
[3 6]]
df.T
df.T 是 Pandas 中 DataFrame 对象的一个属性,用于对 DataFrame 进行转置操作,即将行和列进行互换。
基本语法如下:
df.T
该属性返回一个新的 DataFrame,新的 DataFrame 中的行标签(行索引)变为原 DataFrame 的列标签(列名),列标签(列名)变为原 DataFrame 的行标签(行索引)。
示例:
import pandas as pd
# 创建一个 DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
# 对 DataFrame 进行转置操作
df_transposed = df.T
print(df_transposed)
0 1 2
A 1 2 3
B 4 5 6
df.sort_index()
df.sort_index() 是 Pandas 中 DataFrame 对象的一个方法,用于根据行索引或列索引对 DataFrame 进行排序。
基本语法如下:
df.sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False)
其中,常用的参数包括:
- axis:用于指定按行索引(axis=0)还是列索引(axis=1)进行排序。
- ascending:用于指定排序的顺序,True表示升序,False 表示降序。
- inplace:用于指定是否在原地修改 DataFrame,True 表示在原地修改,False表示返回一个新的排序后的 DataFrame。
示例:
import pandas as pd
# 创建一个 DataFrame
data = {'A': [1, 3, 2], 'B': [4, 6, 5]}
df = pd.DataFrame(data, index=['c', 'a', 'b'])
# 根据行索引排序
sorted_df = df.sort_index()
print(sorted_df)
A B
a 3 6
b 2 5
c 1 4
df.sort_values()
df.sort_values() 是 Pandas 中 DataFrame 对象的一个方法,用于根据列中的值对 DataFrame 进行排序。
基本语法如下:
df.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False)
其中,常用的参数包括:
- by:指定按照哪一列或多列的值进行排序。
- axis:用于指定按行(axis=0)还是按列(axis=1)进行排序。
- ascending:用于指定排序的顺序,True 表示升序,False 表示降序。
- inplace:用于指定是否在原地修改DataFrame,True 表示在原地修改,False 表示返回一个新的排序后的 DataFrame。
示例:
import pandas as pd
# 创建一个 DataFrame
data = {'A': [3, 1, 2], 'B': [6, 4, 5]}
df = pd.DataFrame(data)
# 根据列'A'的值进行排序
sorted_df = df.sort_values(by='A')
print(sorted_df)
A B
1 1 4
2 2 5
0 3 6
案例
import pandas as pd
import numpy as np
df2 =pd.DataFrame({'A':1,
'B':pd.Timestamp('20160102'),
'C':pd.Series(1,index=list(range(4)),dtype='float32'),
'D':np.array([3]*4,dtype='int32'),
'E':pd.Categorical(['test','train','test','train']),
'F':'foo'
})
print(df2)
#print(df2.columns)
#print(df2.values)
#print(df2.index)
#print(df2.T)
print(df2.sort_index(axis=1,ascending =False))
print(df2.sort_index(axis=0,ascending =False))
print(df2.sort_values(by='E'))
A B C D E F
0 1 2016-01-02 1.0 3 test foo
1 1 2016-01-02 1.0 3 train foo
2 1 2016-01-02 1.0 3 test foo
3 1 2016-01-02 1.0 3 train foo
F E D C B A
0 foo test 3 1.0 2016-01-02 1
1 foo train 3 1.0 2016-01-02 1
2 foo test 3 1.0 2016-01-02 1
3 foo train 3 1.0 2016-01-02 1
A B C D E F
3 1 2016-01-02 1.0 3 train foo
2 1 2016-01-02 1.0 3 test foo
1 1 2016-01-02 1.0 3 train foo
0 1 2016-01-02 1.0 3 test foo
A B C D E F
0 1 2016-01-02 1.0 3 test foo
2 1 2016-01-02 1.0 3 test foo
1 1 2016-01-02 1.0 3 train foo
3 1 2016-01-02 1.0 3 train foo