[英]Filling up "None" values in pandas dataframe with values from previous column
[英]Filling None values in the dataframe in rows Pandas Python
数据如下:
o h l c
Time
2018-10-12 09:35:00 1.15868 1.15890 1.15868 1.15884
2018-10-12 09:36:00 1.15887 1.15889 1.15869 1.15869
2018-10-12 09:37:00 1.15869 1.15890 1.15869 1.15883
2018-10-12 09:38:00 1.15883 1.15894 1.15881 1.15888
2018-10-12 09:39:00 1.15888 1.15903 1.15887 1.15894
我试图用Nan
值替换完整的行,只保留一个。 因此,上述数据框的最终输出必须是这样的:
o h l c
Time
nan nan nan nan
nan nan nan nan
nan nan nan nan
nan nan nan nan
2018-10-12 09:39:00 1.15888 1.15903 1.15887 1.15894
我尝试以下操作,并在尝试操作时出错:
df.fillna(inplace=True,value=None)
ValueError: must specify a fill method or value
我想知道如何填充前四行的nan值吗?
请让我知道我能做什么。
使用iloc
:
df.iloc[:-1] = np.nan
print (df)
o h l c
Time
2018-10-12 09:35:00 NaN NaN NaN NaN
2018-10-12 09:36:00 NaN NaN NaN NaN
2018-10-12 09:37:00 NaN NaN NaN NaN
2018-10-12 09:38:00 NaN NaN NaN NaN
2018-10-12 09:39:00 1.15888 1.15903 1.15887 1.15894
对于索引中缺少的值:
df = df.set_index(np.append([np.nan] * (len(df)-1), df.index[-1])).rename_axis(df.index.name)
print (df)
o h l c
Time
NaT NaN NaN NaN NaN
NaT NaN NaN NaN NaN
NaT NaN NaN NaN NaN
NaT NaN NaN NaN NaN
2018-10-12 09:39:00 1.15888 1.15903 1.15887 1.15894
另一个想法:
df1 = pd.DataFrame(index=df.index, columns=df.columns, data=df.iloc[[-1]])
print (df1)
o h l c
Time
2018-10-12 09:35:00 NaN NaN NaN NaN
2018-10-12 09:36:00 NaN NaN NaN NaN
2018-10-12 09:37:00 NaN NaN NaN NaN
2018-10-12 09:38:00 NaN NaN NaN NaN
2018-10-12 09:39:00 1.15888 1.15903 1.15887 1.15894
df1 = pd.DataFrame(index=np.append([np.nan] * (len(df)-1), df.index[-1]),
columns=df.columns,
data=df.iloc[[-1]]).rename_axis(df.index.name)
print (df1)
o h l c
Time
NaT NaN NaN NaN NaN
NaT NaN NaN NaN NaN
NaT NaN NaN NaN NaN
NaT NaN NaN NaN NaN
2018-10-12 09:39:00 1.15888 1.15903 1.15887 1.15894
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.