python - 熊猫数据框中的标志差异
问题描述
我有 pandas 数据集,并想创建一个标记差异的列
即 B 列对于 A 列中的每个值应该具有相同的值,反之亦然。如果不是,则将其标记为 1
A列 | B栏 | 新列 |
---|---|---|
亚特兰大 | 遗传算法 | 0 |
亚特兰大 | 遗传算法 | 0 |
纽约 | 纽约 | 1 |
纽约 | YN | 1 |
公司1 | 通讯 | 1 |
公司 | 通讯 | 1 |
公司 | 通讯 | 1 |
解决方案
由于问题已更新,因此这是一种方法。我使用这些数据:
df = pd.DataFrame({"column A": ["Atlanta", "Atlanta", "New York", "New York"], "column B": ["AT", "AT", "YN", "NY"]})
df
column A column B
0 Atlanta AT
1 Atlanta AT
2 New York YN
3 New York NY
使用 pd.groupby :
df_gb = df.groupby("column A", as_index=False).nunique()
condition = [df_gb["column B"] == 1]
value = [0]
df_gb["difference"] = np.select(condition, value, default=1)
df_gb = df_gb[["column A", "difference"]]
输出[0]:
df_gb
column A difference
0 Atlanta 0
1 New York 1
然后最后:
df = df.merge(df_gb, on="column A", how="left")
输出[1]:
df
column A column B difference
0 Atlanta AT 0
1 Atlanta AT 0
2 New York YN 1
3 New York NY 1
推荐阅读
- docusaurus - Docusaurus 迁移错误:无法读取未定义的属性“doc”
- c++ - 特定日期的纪元以来的秒数
- vba - 在特定位置插入图像时出现问题
- python - 未调用 Pytest 模拟补丁函数
- automation - 自动化网页填充
- javascript - JavaScript 多维数组检查 typeof 是否为“未定义”
- python - 在记录函数 pylint 错误消息中使用惰性 % 格式
- c# - 如何在不同的脚本统一中调用布尔变量
- r - R使用fromJSON函数导入JSON文件时导入错误
- c# - 如果路径长度高于 256,C# OpenFileDialog 不会返回正确的路径