簡體   English   中英

當每列具有不同大小的數字時,如何保留 Dataframe 多列的所有尾隨零?

[英]How to keep all trailing zeros of multiple columns of a Dataframe when each column has a different size of numbers?

重要的初始信息:這些值是 ID,它們不是計算結果,所以我真的沒有辦法改變它們在文件中的保存方式。

數據框示例:

約會時間 匹配名稱 match_id runner_name runner_id ...
2022/01/01 10:10 城市對皇家馬德里 1.199632310 城市 122.23450 ...
2021/01/01 01:01 凱爾特人對流浪者 1.23410 游騎兵 101.870 ...

但是match_id中的 match_id 出現:

1.19963231
1.2341

runner_id中的 runner_id 出現:

122.2345
101.87

我嘗試將所有值作為字符串傳遞,以便將數字視為字符串而不刪除零:

df = pd.read_csv(filial)
df = df.astype(str)

但這並沒有幫助,他一直在刪除右邊的零。

我知道float_format的存在,但在這種情況下,有必要指定要使用的小數位數,所以我不能使用它,因為它們是 ID,我不能冒一個非常大的值被四舍五入的風險。

注意:有數百個不同的列。

當您的數據被讀取時,零已經被刪除,因此您轉換為str不再有幫助。

您需要將選項直接傳遞給read_csv()

df = pd.read_csv(filial, dtype={'runner_id': str})

如果你有很多這樣的列,你可以設置dtype=str (而不是字典),但是你所有的列都將是str ,所以你需要將每個有趣的列重新解析為正確的 dtype (例如datetime ) .

文檔中的更多詳細信息; 也許也可以使用converters參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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