我正在尝试读取一个包含“NA”值作为数据的 csv 文件。当我使用“keep_default_na = false”选项保留 NA 值时,它会影响具有空行的其他列。数据:
colA colB colC
'abc' , , NA
'ljk' , 10 , 'Paris'
'xyz' , 25 , NA
在这里,我想将 NA 值保留在“colC”列中。我正在这样阅读 csv。
DF = pandas.read_csv(csv, keep_default_na=False)
现在我可以看到 DF 中存在 NA 值,但第二列“colB”中的值以字符串(“10”,“25”)形式出现,而不是数字。
如果包含数值的列中有空行,就会发生这种情况。
如何应用“keep_default_na= False”并仍然读取同一 dType 中的其他值?
如果您确实有
'price'
列,请执行以下操作:
import pandas as pd
df = pd.read_csv(csv, keep_default_na=False)
df['price'] = pd.to_numeric(df['price'], errors='coerce')
errors='coerce'
将确保 NA 字符串值转换为 NaN 以进行数字处理。如果您不想要 NaN,而是将它们保留为 0 或其他值,则可以使用 fillna()
填充这些 NaN。