gpt4 book ai didi

python - 根据 pandas 中第二个数据帧的列值从一个数据帧中删除列

转载 作者:行者123 更新时间:2023-12-01 01:25:27 26 4
gpt4 key购买 nike

我有 2 个数据框 df1 和 df2,均由 8 列组成,如下所示:

**df1**
╔══════════════════════════════════════════════════════════╗
║John ║ Mark ║ Jane ║ Natasha ║ Oliver ║ Tony ║ Judd ║ Ron ║
╚══════════════════════════════════════════════════════════╝


**df2**
╔══════════════════════════════════════════════════╗
║True ║True ║False ║True ║False ║False ║False ║True║
╚══════════════════════════════════════════════════╝

df1 的列是不同人的姓名,而 df2 的列名称是 bool 值。我想要做的是删除 df1 中在 df2 中具有相应值 False 的所有列。所以结果输出应该是这样的:

**output**
╔════════════════════════════╗
║John ║ Mark ║ Natasha ║ Ron ║
╚════════════════════════════╝

我正在读取 csv 文件中的两个数据帧。

任何和所有帮助将不胜感激。

注意:实际的数据框每个有 500 列。使用 8 作为示例以实现可视化目的并显示数据帧具有相同的列数

提前致谢

最佳答案

您可以使用基本索引。但是,当您解析 df2 时,列名会重复并被更改,因此需要进行一些清理。

设置

names = ['John', 'Mark', 'Jane', 'Natasha', 'Oliver', 'Tony', 'Judd', 'Ron']
cols = ['TRUE', 'TRUE.1', 'FALSE', 'FALSE.1', 'TRUE.2', 'FALSE.2', 'FALSE.3', 'TRUE.3']

df1 = pd.DataFrame(columns=names)
df2 = pd.DataFrame(columns=cols)
<小时/>
df1.loc[:, df2.columns.str.contains('TRUE')]

Empty DataFrame
Columns: [John, Mark, Oliver, Ron]
Index: []

关于python - 根据 pandas 中第二个数据帧的列值从一个数据帧中删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53399899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com