[英]How do I round these 2 columns in python?
所以我搜索了堆棧溢出並嘗試了不同的解決方案,但我無法舍入這些值。
這是代碼
# Importing libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Importing dataset
dataset = pd.read_csv('/Users/What my username is/Documents/Coding/data/Data.csv')
x = dataset.iloc[:, :-1].values
y = dataset.iloc[:, -1].values
# Taking care of missing data
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
imputer.fit(x[:, 1:3])
x[:, 1:3] = imputer.transform(x[:, 1:3])
print(x)
我得到的結果是
[['France' 44.0 72000.0]
['Spain' 27.0 48000.0]
['Germany' 30.0 54000.0]
['Spain' 38.0 61000.0]
['Germany' 40.0 63777.77777777778]
['France' 35.0 58000.0]
['Spain' 38.77777777777778 52000.0]
['France' 48.0 79000.0]
['Germany' 50.0 83000.0]
['France' 37.0 67000.0]]
我將如何舍入這些值? 我不能只用數字對兩行進行四舍五入嗎?
我忘了添加,但這就是 Data.csv 是什么
[['France' 44.0 72000.0]
['Spain' 27.0 48000.0]
['Germany' 30.0 54000.0]
['Spain' 38.0 61000.0]
['Germany' 40.0 nan]
['France' 35.0 58000.0]
['Spain' nan 52000.0]
['France' 48.0 79000.0]
['Germany' 50.0 83000.0]
['France' 37.0 67000.0]]
在抓取值之前首先將值作為數據框舍入
df = pd.DataFrame({'country':['France', 'Spain','Germany'],
'values': [40.332,67.3242,560.2334]})
df['values'].round()
結果
0 40.0
1 67.0
2 560.0
我不明白您在示例中獲得的列表。 我將展示一個幾乎沒有變化的示例(添加昏迷):
lst = [['France', 44.0, 72000.0],
['Spain', 27.0, 48000.0],
['Germany', 30.0, 54000.0],
['Spain', 38.0, 61000.0],
['Germany', 40.0, 0],
['France', 35.0, 58000.0],
['Spain', 0, 52000.0],
['France', 48.0, 79000.0],
['Germany', 50.0, 83000.0],
['France', 37.0, 67000.0]]
df = pd.DataFrame(lst)
print(df)
0 1 2
0 France 44.0 72000.0
1 Spain 27.0 48000.0
2 Germany 30.0 54000.0
3 Spain 38.0 61000.0
4 Germany 40.0 0
5 France 35.0 58000.0
6 Spain 0 52000.0
7 France 48.0 79000.0
8 Germany 50.0 83000.0
9 France 37.0 67000.0
df[1] = df[1].astype(int)
df[2] = df[2].astype(int)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.