python-pandas-dataframe-数据选择

1.dataframe可以看数据库里面的一张table

2.更注重于行的筛选,对于列可以看做是属性

3.所以有dataframe.colname,dataframe[:,colname]来提取整个列的操作

都是先行后列

4.利用标签来选择特定的行列dataframe.loc[rowname,colname]

5.默认是对于行进行筛选,所以dataframe.loc[:3],进行切片的时候是默认切行

6.要是想把列加上应该这么写dataframe.loc[rowrange,colrange](标签筛选)

7.还有一个选取是datafram.iloc[](坐标筛选)

8.接下来是条件筛选:本质上就是将判断的结果扩展到对象中的每一个元素:dataframe[]

时刻记住是默认对行进行筛选!

比如

.ipynb

In [14]:
import pandas as pd
In [15]:
import numpy as np
In [22]:
df=pd.DataFrame(np.random.randn(6,6),columns=['a','b','c','d','e','f'])
In [28]:
df
Out[28]:
 
  a b c d e f
0 0.900993 -0.138740 0.802412 0.538833 2.227220 -0.284986
1 0.258847 0.604430 0.393389 -1.302650 1.517982 -0.699211
2 0.705676 -0.258530 0.788059 -0.323895 0.581658 0.689732
3 1.900100 -1.711729 0.040754 -0.798442 0.628421 -0.710979
4 -0.865565 -1.888664 -1.895750 1.241144 -0.697723 -0.593916
5 -0.789671 -0.370566 -0.210978 1.873560 -0.448096 -1.785732
In [26]:
df['b']>0
Out[26]:
0    False
1     True
2    False
3    False
4    False
5    False
Name: b, dtype: bool
In [34]:
#这里只会保留是true的行
In [29]:
df.loc[1]>0
Out[29]:
a     True
b     True
c     True
d    False
e     True
f    False
Name: 1, dtype: bool
In [ ]:
#这里只会保留是true的列
In [33]:
df.loc[:,(df.loc[1]>0)&(df.loc[3]>0)]
Out[33]:
 
  a c e
0 0.900993 0.802412 2.227220
1 0.258847 0.393389 1.517982
2 0.705676 0.788059 0.581658
3 1.900100 0.040754 0.628421
4 -0.865565 -1.895750 -0.697723
5 -0.789671 -0.210978 -0.448096
In [ ]:
 

猜你喜欢

转载自www.cnblogs.com/getthingsdone/p/12493937.html
今日推荐