簡體   English   中英

如何創建一個包含特定值的新pandas DataFrame?

[英]How do I create a new pandas DataFrame containing specific values?

我有一個熊貓DataFrame,其中包含YearMonth值(表示為整數),如下所示:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM