>我有一个csv文件,在其中一列中,我需要根据同一列中上面提供的数据填充NA值。例如,假设列数据是这样的chrome,NA,NA,Explorer,NA
我希望它是chrome,chrome,chrome,Explorer,Explorer
并且我能够实现这一点,但现在我有另一个问题,假设列数据是这样的NA,NA,chrome,Explorer,NA
我得到输出作为NA,NA,chrome,Explorer,Explorer
(这里第一行输出部分中的 NA 我想用同一行中的另一个列数据替换
(为了根据同一列中的数据填充缺失值,我使用了以下代码-
用以前的值填充缺失值
data["Application Name"].fillna(method ='pad', inplace = True)
data.iloc[:,4].fillna(method ='pad', inplace = True)
data.head()
这是输入 csv 数据-
Sequence Number Action Name Title Recorder Type Application Name
1 1 ANT Logger
2 5 Chrome Recorder
3 5 Chrome Recorder Chrome
4 5 Chrome Recorder Chrome
5 5 Chrome Recorder Chrome
6 6 xyz Chrome Recorder Chrome
7 7 Chrome Recorder Chrome
在上面的例子中,第一行中的应用程序名称丢失了,甚至我们不能使用 fillna,因为它是 csv 的第一行,所以我想使用标题
数据在 Apllication 名称列中使用,这基本上意味着我想要这样的输出-
Action Name Title Recorder Type Application Name
1 ANT Logger ANT Logger
5 Chrome Recorder ANT Logger
5 Chrome Recorder Chrome
5 Chrome Recorder Chrome
5 Chrome Recorder Chrome
6 xyz Chrome Recorder Chrome
7 Chrome Recorder Chrome
您可以使用行使用向后和向前填充:
df = df.ffill(axis ='rows').bfill(axis ='rows')