簡體   English   中英

如何使用 pandas 更改現有 csv 的單個列

[英]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.

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