pandas - 仅当列包含特定值时才写入csv

时间:2016-04-05 19:49:46

标签: python csv pandas

我有一只看起来像这样的大熊猫df

df = pd.DataFrame([[1,'hello,bye','USA','3/20/2016  7:00:17 AM'],[2,'good morning','UK','3/20/2016  7:00:20 AM']],columns=['id','text','country','datetime'])

   id          text country               datetime
0   1     hello,bye     USA  3/20/2016  7:00:17 AM
1   2  good morning      UK  3/20/2016  7:00:20 AM

我想将此输出打印到csv,但仅当国家/地区列包含' USA'时。

这就是我的尝试:

if 'USA' in df.country.values:
    df.to_csv('test.csv')

但它仍然将整个df打印到test.csv文件中。

1 个答案:

答案 0 :(得分:2)

以下是您问题的简单解决方案:

df = pd.DataFrame([[1,'hello,bye','USA','3/20/2016  7:00:17 AM'],[2,'good morning','UK','3/20/2016  7:00:20 AM']],columns=['id','text','country','datetime'])

if 'USA' in df.country.tolist():
    df.to_csv('test.csv')

或者,您也可以通过以下方式执行此操作:

df['country'].tolist()

希望这可以帮助你:)