【DataFrame】查看与筛选数据
1 查看列的数据类型
使用 dtypes 方法可以查看各列的数据类型,比如说之前的 df3。
>>> dic1 = {'name': ['小明', '小红', '狗蛋', '铁柱'], 'age': [17, 20, 5, 40], 'gender': ['男', '女', '女', '男']}
>>> df3 = pd.DataFrame(dic1)
>>> df3.dtypes
name object
age int64
gender object
dtype: object
>>>
2 查看 DataFrame 的头尾
使用 head 可以查看前几行的数据,默认的是前 5 行,不过也可以自己设置。
使用 tail 可以查看后几行的数据,默认也是 5 行,参数可以自己设置。
随意设置一个 6*6 的数据,只看前 5 行。
>>> df4 = pd.DataFrame(np.random.randn(6, 6))
>>> df4.head()
0 1 2 3 4 5
0 0.321488 1.680416 -0.525665 0.545784 -1.129162 0.346618
1 0.332380 -2.065623 0.186733 2.459071 -1.048581 1.270196
2 0.558762 -1.716748 -0.026422 0.618331 0.710246 -0.115285
3 -1.532169 1.063769 0.860040 1.112915 -0.314987 0.952194
4 0.796889 0.075921 0.878482 -0.952150 0.228675 0.856666
>>>
只看前 3 行。
>>> df4.head(3)
0 1 2 3 4 5
0 0.321488 1.680416 -0.525665 0.545784 -1.129162 0.346618
1 0.332380 -2.065623 0.186733 2.459071 -1.048581 1.270196
2 0.558762 -1.716748 -0.026422 0.618331 0.710246 -0.115285
>>>
看后 5 行。
>>> df4.tail()
0 1 2 3 4 5
1 0.332380 -2.065623 0.186733 2.459071 -1.048581 1.270196
2 0.558762 -1.716748 -0.026422 0.618331 0.710246 -0.115285
3 -1.532169 1.063769 0.860040 1.112915 -0.314987 0.952194
4 0.796889 0.075921 0.878482 -0.952150 0.228675 0.856666
5 0.789586 0.415465 -0.587331 -0.401989 0.119820 4.359400
>>>
只看后 2 行。
>>> df4.tail(2)
0 1 2 3 4 5
4 0.796889 0.075921 0.878482 -0.952150 0.228675 0.856666
5 0.789586 0.415465 -0.587331 -0.401989 0.119820 4.359400
>>>
3 查看行名与列名
使用 index 查看行名,columns 查看列名。具体由例子感受吧。
查看行名。
>>> df3.index
RangeIndex(start=0, stop=4, step=1)
>>>
查看列名。
>>> df3.columns
Index(['name', 'age', 'gender'], dtype='object')
>>>
4 查看数据值
使用 values 可以查看 DataFrame 里的数据值,返回的是一个数组。
比如说查看所有的数据值。
>>> df3.values
array([['小明', 17, '男'],
['小红', 20, '女'],
['狗蛋', 5, '女'],
['铁柱', 40, '男']], dtype=object)
>>>
查看某一列所有的数据值。
>>> df3['name'].values
array(['小明', '小红', '狗蛋', '铁柱'], dtype=object)
>>>
还有另一种操作,使用 loc 或者 iloc 查看数据值(但是好像只能根据行来查看?)。区别是 loc 是根据行名,iloc 是根据数字索引(也就是行号)。
比如说这样。
>>> df1 = pd.DataFrame(np.random.randn(4,4), index=list('ABCD'), columns=list('ABCD'))
>>> df1.loc['A']
A 1.534538
B -0.457642
C -0.177800
D -0.721894
Name: A, dtype: float64
>>>
或者这样。
>>> df1.iloc[0]
A 1.534538
B -0.457642
C -0.177800
D -0.721894
Name: A, dtype: float64
>>>
按列进行索引查看数据还能直接使用列名,但这种方法对行索引不适用。
>>> df3['name']
0 小明
1 小红
2 狗蛋
3 铁柱
Name: name, dtype: object
>>>
5 查看行列数
使用 shape查看行列数,参数为 0 表示查看行数,参数为 1 表示查看列数。
>>> df3.shape[0]
4
>>> df3.shape[1]
3
>>>
厉害 厉害 实用