![](/img/trans.png)
[英]How do I create a function that will accept a pandas dataframe and remove rows containing a specific value?
[英]How do I create a new pandas DataFrame containing specific values?
我有一個熊貓DataFrame,其中包含Year
和Month
值(表示為整數),如下所示:
df.head(5)
Year Month
0 1997 1
1 1997 8
2 2010 9
3 1998 1
4 2009 10
我想創建一個僅包含年份值1996、2000、2002的新DataFrame
我幾乎從未使用過python或pandas,所以我在這里努力,我嘗試過:
df2 = df.ix[df.year = 1996 and df.year = 2000 and df.year = 2002 ['year', 'month']]
但這不起作用-有人可以幫忙嗎?
使用isin
並傳遞您的列表以過濾df:
In [168]:
df = pd.DataFrame({'Year':np.arange(1997,2010), 'Month':np.arange(13)})
df[df['Year'].isin([1996, 2000, 2002])]
Out[168]:
Month Year
3 3 2000
5 5 2002
您嘗試的操作失敗了,因為and
不了解比較之類的數組,您需要使用按位&
並將條件包裝在括號中:
df2 = df.ix[(df.year == 1996) & (df.year == 2000) & (df.year == 2002)]
另外=
是與相等==
分配
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.