我正在尝试通过熊猫数据框中的逐组细分列来填充nan值........ 我用了这个:
import pandas as pd
dataFrame = pd.read_csv("rainfall in india 1901-2015.csv")
df=dataFrame.groupby("SUBDIVISION").transform(lambda x:x.fillna(x.mean()))
但是它在df中缺少SUBDIVISION列……我该如何解决? 并尝试使用它:
df2=dataFrame.groupby('SUBDIVISION').apply(lambda x: x.fillna(x.mean()))
但是它将索引值替换为细分列值。
我对lambda不太了解.....
我的dataFrame(包含NAN)看起来像这样
SUBDIVISION YEAR JAN ... Mar-May Jun-Sep Oct-Dec
0 ANDAMAN & NICOBAR ISLANDS 1901 49.2 ... 560.3 1696.3 980.3
1 ANDAMAN & NICOBAR ISLANDS 1902 0.0 ... 458.3 2185.9 716.7
2 ANDAMAN & NICOBAR ISLANDS 1903 12.7 ... 236.1 1874.0 690.6
3 ANDAMAN & NICOBAR ISLANDS 1904 9.4 ... 506.9 1977.6 571.0
我的df(NAN值替换为均值,但没有SUBDIVISION列)
YEAR JAN FEB ... Mar-May Jun-Sep Oct-Dec
0 1901 49.2 87.1 ... 560.300000 1696.3 980.300000
1 1902 0.0 159.8 ... 458.300000 2185.9 716.700000
2 1903 12.7 144.0 ... 236.100000 1874.0 690.600000
3 1904 9.4 14.7 ... 506.900000
df2看起来像 在df(用平均数代替NAN,但又细分了列)中,有一个groupby列...
SUBDIVISION ...
ANDAMAN & NICOBAR ISLANDS 0 ...
1 ...
2 ...
3 ...
4 ...
5 ...
6 ...
please help me thanks in advance
我需要df2作为答案,但需要删除索引列中的该列