pandas:加载csv时跳过字符串

时间:2015-03-12 11:20:34

标签: python pandas

我有一个利率数据库,其条目偶尔是字符串,如" NA" s,是否可以按类型(所有字符串)跳过这些行?

[编辑] http://www.banque-france.fr/fileadmin/user_upload/banque_de_france/Economie_et_Statistiques/Changes_et_Taux/en/qs.d.ieutio1m.csv

04/19/2000;3.824

04/20/2000;3.834

04/21/2000;ND

04/24/2000;ND

04/25/2000;3.881

04/26/2000;3.927

我正在加载它(在保存并删除了初始注释之后)非常简单地通过

pd.io.parsers.read_csv(filepath_or_buffer="/mypath.csv")

2 个答案:

答案 0 :(得分:2)

我会像上面提到的@EdChum那样做:

df = pd.read_csv("/mypath.csv", na_values = ['ND'], sep = ';')
df.dropna(inplace = True)

这应该将所有ND值读作NaN s,然后您可以立即将它们放置到位。如果需要,您还可以使用不同的NaN值,例如['ND', 'nd']

na_values指定的字符串将附加到read_csv中的默认NaN值,除非相应地调整keep_default_na选项。

答案 1 :(得分:1)

dropnana_values参数结合使用:

df = pd.read_csv('qs.d.ieutio1m.csv', sep=';', header=4, na_values=['ND'])
df = df.dropna()

或更简单:

df = pd.read_csv('qs.d.ieutio1m.csv', sep=';', header=4, na_values=['ND']).dropna()