关于python 3.x:如何创建给定值的Pandas数据帧

How to create Pandas dataframe of given values

本问题已经有最佳答案,请猛点这里访问。

通过以下代码我得到:

1
2
3
4
5
6
7
import pandas as pd

date=['1/3/15','2/5/15','3/6/15','4/8/16']
dist=[5,4,11,12]
dd=list(zip(date,dist))
df=pd.DataFrame(dd,columns=['Date','Dist'])
print(df)

出:

1
2
3
4
5
Date  Dist
0  1/3/15     5
1  2/5/15     4
2  3/6/15    11
3  4/8/16    12

我只想得到dist>10和相应的日期,因此:

1
2
3
Date  Dist
2  3/6/15  11
3  4/8/16  12

我试过以下方法:

1
2
dd10=pd.DataFrame(df['Dist']>10)
print(dd10)

这只会导致:

1
2
3
4
5
0    False
1    False
2     True
3     True
Name: Dist, dtype: bool

我怎样才能得到期望的结果作为一个int.与相应的日期而不是bool?


称为boolean indexing,需要df[mask]

1
df1 = df[df['Dist']>10]

另一种过滤方法是DataFrame.query

1
df1 = df.query("Dist > 10")
1
2
3
4
print (df1)
     Date  Dist
2  3/6/15    11
3  4/8/16    12