[英]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 的數字返回到小數點后第二位,依此類推。
您可以使用format
將precision
設置為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.