python - 如果 Python 中缺少主列中的值,是否可以将值附加到列?
问题描述
我正在尝试比较 Excel 工作表/csv 中的不同列。 在此处输入图像描述
例如,主列包含我想要查看的所有变量,但正如您在 2015 年和 2016 年看到的那样,与主列相比,存在缺失值。是否可以在 Python 中编写一些东西,以便我可以将主列的所有缺失变量附加到 2015/2016 列中?
我添加了代码以文本形式显示输出:
输入数据:
Master 2015 2016
0 apple apple banana
1 banana cherry cherry
2 cherry elephant NaN
3 digglet NaN NaN
4 elephant NaN NaN
创建上述数据框的代码:
import pandas as pd
import numpy as np
df = pd.DataFrame({'Master':['apple','banana','cherry','digglet','elephant'],
'2015':['apple','cherry','elephant',np.NaN, np.NaN],
'2016':['banana','cherry',np.NaN,np.NaN, np.NaN]})
print (df)
谢谢!
解决方案
是的,假设我正确理解您想要做什么并且您的数据框被称为df
,您可以使用where
fromnumpy
并执行以下操作:
import numpy as np
df['2015'] = np.where(df['2015'].isnull(),'df['Master'],'df['2015'])
df['2016'] = np.where(df['2016'].isnull(),'df['Master'],'df['2016'])
它使用isnull()
, 并用 Master 中的值填充 2015 和 2016 列的值,当为空白时。
使用loop
:
cols_to_fill = ['2015','2016']
for col in df[cols_to_fill]:
df[col] = np.where(df[col].isnull(),df['Master'],df[col])
与上述相同。
推荐阅读
- spring-amqp - Spring RabbitMq - 应用自定义有效负载转换器
- php - php 中的色度键使用 php 的 ImageMagic 扩展
- python - 在networkx中将python列表转换为树结构
- spring-boot - Spring Cloud Kubernetes ConfigMap 重新加载不起作用
- sql - 修复 SQL Query 上的表连接导致查询未运行
- python - 在 Python 中,如何从每个链接上具有不同结构的 API 解析和组织信息?
- c# - 将一般的 ASP.NET 控件视为基于列表的控件(即 DropDownList、RadioButtonList 等)
- kubernetes - 使用 multus-cni 添加的 IP 地址无法从同一集群中的另一个 pod 访问
- rcpp - RcppArrayFire 中的随机洗牌
- python - 如何对两点之间的 x、y 和 z 进行线性插值?