簡體   English   中英

刪除 Pandas 中的第一個小數位

[英]Dropping the first Decimal place in Pandas

我有一個看起來接近這個的數據框

國家 生產
美國 2000.0 4135059.0
美國 2001.0 3759340.0
美國 2002.0 4516827.0

我試圖在每列中刪除小數位。

df.style.set_precision(0)

沒有改變任何東西

df.astype(int)
df.round()

也沒修。

我還有其他選擇嗎?

我認為這不是最有效的方法,但您可以遍歷數據框中的值並全年循環。 使用傳遞的參數,例如round(1.1234, 2)會將舍入為 2 的數字返回到小數點后第二位,依此類推。

您可以使用formatprecision設置為0

import pandas as pd
from io import StringIO

data = StringIO("""Country;Year;Production
United states;2000.0;4135059.0
United states;2001.0;3759340.0
United States;2002.0;4516827.0
""")

df = pd.read_csv(data, sep=';')

df.style.format(precision=0)

替代方案(將 dtype 更改為int ):

df.set_index('Country').astype(int).reset_index()

Output:

         Country  Year  Production
0  United states  2000     4135059
1  United states  2001     3759340
2  United States  2002     4516827

希望這能回答你的問題。

暫無
暫無

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

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