查看DataFrame
先创建一个DataFrame
>>> import numpy as np
>>> d = np.random.rand(6,4)
>>> df = pd.DataFrame(data=d,index=['one','two','three','four','five','six'],columns=['A','B','C','D'])
>>> df
A B C D
one 0.716907 0.714715 0.424210 0.037944
two 0.283037 0.930533 0.695687 0.698150
three 0.303198 0.104441 0.893804 0.071477
four 0.164282 0.824111 0.361558 0.109699
five 0.862284 0.577114 0.157905 0.259883
six 0.268228 0.067560 0.405446 0.852927
-
查看DataFrame中头部和尾部的行
df.head() #默认前5行,加入参数n表示前n行 df.tail() #默认后5行,加入参数n表示后n行
-
显示行列数、索引(即行标签)、列(标签)和numpy 数据:
df.shape df.index df.columns df.values
-
describe()
函数用于对数据的快速统计汇总:>>> df.describe() A B C D count 6.000000 6.000000 6.000000 6.000000 mean 0.432989 0.536412 0.489768 0.338347 std 0.284107 0.368231 0.262155 0.350471 min 0.164282 0.067560 0.157905 0.037944 25% 0.271930 0.222609 0.372530 0.081033 50% 0.293117 0.645914 0.414828 0.184791 75% 0.613479 0.796762 0.627817 0.588584 max 0.862284 0.930533 0.893804 0.852927
-
查看转置后的数据
df.T
,df表格本身没被修改>>> df.T one two three four five six A 0.716907 0.283037 0.303198 0.164282 0.862284 0.268228 B 0.714715 0.930533 0.104441 0.824111 0.577114 0.067560 C 0.424210 0.695687 0.893804 0.361558 0.157905 0.405446 D 0.037944 0.698150 0.071477 0.109699 0.259883 0.852927
-
按轴进行排序:
df.sort_index(axis, ascending)
- axis = 0时表示按行标签排序,ascending=False表示降序,True表升序
- axis = 1时表示按列标签排序
>>> df.sort_index(axis=1, ascending= False) D C B A one 0.037944 0.424210 0.714715 0.716907 two 0.698150 0.695687 0.930533 0.283037 three 0.071477 0.893804 0.104441 0.303198 four 0.109699 0.361558 0.824111 0.164282 five 0.259883 0.157905 0.577114 0.862284 six 0.852927 0.405446 0.067560 0.268228
提取数据
-
提取列
df.列名
df['列名']
>>> df.A one 0.716907 two 0.283037 three 0.303198 four 0.164282 five 0.862284 six 0.268228 Name: A, dtype: float64 >>> df['A'] one 0.716907 two 0.283037 three 0.303198 four 0.164282 five 0.862284 six 0.268228 Name: A, dtype: float64
-
提取行(利用切片方式):
- 使用索引方法,如
df[1:3]
,df[1:5]
- 使用标签方法,如
df['one':'three']
,
>>> df[1:3] A B C D two 0.283037 0.930533 0.695687 0.698150 three 0.303198 0.104441 0.893804 0.071477 #或者 >>> df['two':'three'] A B C D two 0.283037 0.930533 0.695687 0.698150 three 0.303198 0.104441 0.893804 0.071477
- 使用索引方法,如
-
指定行和列(标签切片)
df.loc[]
df.loc[:, :], #所有行所有列 df.loc[:,['A','B']], #所有行,只有 A、B列 df.loc['one':'four',['A','C']] ,#第 one~four 行,只有A、C列
>>> df.loc['one':'four',['A','C']] A C one 0.716907 0.424210 two 0.283037 0.695687 three 0.303198 0.893804 four 0.164282 0.361558
指定某行某列的一个数据
df.loc['three','B'] ,#第3行的第B列的数据 df.loc['three',['B','C']],#第3行的第B、C列的数据
-
指定行和列(数值切片):
df.iloc[]
用法与
df.loc[]
一样,只是df.loc[]
用的是标签名(什么行什么列),而df.iloc[]
,用的是数字(第几行第几列)。 -
快速获取或修改某一个数据
df.iat[行,列]
获取第0行第0列的值:
>>>df.iat[0,0] 0.716907
修改第0行第0列的值为1.111:
>>>df.iat[0,0] = 1.111 df A B C D one 1.111000 0.714715 0.424210 0.037944 two 0.283037 0.930533 0.695687 0.698150 three 0.303198 0.104441 0.893804 0.071477 four 0.164282 0.824111 0.361558 0.109699 five 0.862284 0.577114 0.157905 0.259883 six 0.268228 0.067560 0.405446 0.852927
小结:
本次学习了以下知识点
-
查看:几个函数
head(n)、tail(n)、shape、index、columns、values、describe()
-
提取:
列:
df.A、df["A"]
行:
df[:]
三个函数:
loc[], iloc[], iat[]