【发布时间】:2021-04-11 17:46:51
【问题描述】:
我基本上有一个包含两列的 csv 文件:PLACE(字符串)和数量(int)。我的一些数量行是空的,我想用 PLACE 组的 AVERAGE 填充它们。
例如:
地点、数量
澳大利亚,4
澳大利亚,2
美国,3
澳大利亚,
您可以看到一个“澳大利亚”没有关联的数量。我希望“AUS”的那一行具有所有具有值的“AUS”行的平均值。我将如何在 python 中执行此操作?我在下面试过这个,但它没有做任何事情。也许是因为我用 NaN 填充了 NA,它没有填充?
import pandas as pd
import csv
# READ THE DATA FILES
csv_file = open('MY_CSV.csv')
df = pd.read_csv(csv_file)
# fill all NAs and replace with the average of that PLACE
AverageReplace = df.groupby('PLACE')['QUANTITY'].mean()
df['QUANTITY'].fillna(AverageReplace, inplace=True)
df.head()
【问题讨论】: