[英]How to change a single column of an existing csv with pandas
我有一個 .csv 文件,我可以使用pd.read_csv()
讀取它。 在這個文件中,我有SomeBoolean
列,我需要用新的邏輯進行更新。 但是,當我使用pd.to_csv()
再次寫入文件時,其他一些列值發生了變化,例如, sometimesNaN
NaN 列有一些空值,在讀取 csv 時被解釋為NaN
,但隨后它們也被寫為NaN
而不是空的價值。
有沒有一種方法可以更新SomeBoolean
列而不會意外影響其他列,例如sometimesNaN
NaN 列?
Index Date SomeBoolean Values sometimesNaN
0 2021-05-18 False 216.351155 NaN
1 2021-05-18 False 876.222176 NaN
2 2021-05-18 False 767.214479 NaN
您可以考慮使 Pandas 不將sometimesNaN
NaN 列中的空值解釋為NaN
,以便在回寫時不會覆蓋原始空值。
為此,您可以在調用pd.read_csv()
期間指定參數keep_default_na=False
在 csv 中讀取。
keep_default_na: 布爾型,默認 True
解析數據時是否包含默認的 NaN 值。 根據是否傳入na_values,行為如下:
如果 keep_default_na 為 True,並且指定了 na_values,則 na_values 將附加到用於解析的默認 NaN 值。
如果 keep_default_na 為 True,並且未指定 na_values,則僅使用默認 NaN 值進行解析。
如果 keep_default_na 為 False,並且指定了 na_values,則僅使用指定 na_values 的 NaN 值進行解析。
如果 keep_default_na 為 False,並且未指定 na_values,則不會將任何字符串解析為 NaN。
請注意,此行為適用於所有列。 因此,如果您在其他列中有NaN
值,您希望 Pandas 在讀取 csv 時將空值解釋為NaN
,您可能無法使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.