python - 如何在另一列的基础上填充该列第一行的NA值
问题描述
我有一个 csv 文件,在其中一列中,我需要根据上面同一列中可用的数据填充 NA 值。例如,如果让我们说列数据是这样的,chrome,NA,NA,Explorer,NA
我希望它是这样的chrome,chrome,chrome,Explorer,Explorer
,我是能够实现这一点,但现在我有另一个问题,可以说列NA,NA,chrome,Explorer,NA
数据是这样NA,NA,chrome,Explorer,Explorer
的
为了根据来自同一列的数据填充缺失值,我使用了此代码-
用以前的值填充缺失值
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 的第一行,所以我想使用标题
数据在应用程序名称列中使用,这基本上意味着我想要这样的输出-
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')
推荐阅读
- machine-learning - BPE vs WordPiece Tokenization - 何时使用/哪个?
- python - 根据日期列表过滤数据框
- http - 当端口打开但被过滤时,nmap 查找支持的 SSL/TLS 版本
- ocaml - 合并模式匹配案例时的语法错误
- c# - 材质设计对话框内按钮中的 WPF 命令绑定
- python - 如何使用无外壳模型托管 CoreNLP 服务器?
- typescript - 带有 TypeScript 解析器/插件的 ESLint:如何包含从 tsconfig.json 中排除的 .spec.ts?
- amazon-web-services - 从 WOWZA 将 HLS 流注入 AWS Elemental MediaPackage
- sql - 如何在 PostgresQL 查询中提取数据(行)?
- javascript - 函数链中的自定义函数 - 获取数组的长度