gpt4 book ai didi

python - Pandas 从列名称不同的行中选择数据

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

我有多个表,是我从 txt 文件构建的。它们有不同数量、不同名称的列。我最感兴趣的列有名称,例如“data”或“data7”...“data0”或“data15”...“data0”。

我需要从这些表中选择“数据”列中具有某些特定值的行,例如 data==1234,但也想显示其他列信息,例如 colA、colB 以及这些“数据”列。

到目前为止我所拥有的:

result = df.filter(regex='data|colA|colB|colC') 过滤掉我需要查看的列。

我需要什么:

从结果数据框中,我需要选择条目,以便数据具有特定值。问题是互联网教程给出了像 result[(result.data == abc)] 这样的查询,并且错误地显示“未找到数据列”。

有什么方法可以对结果数据帧的%data%列执行查询吗?

最佳答案

编辑:要查找任意列中的值,您可以使用...任意!

>>> df

col1 col2 data1 data2
0 a e 1234 12
1 b f 5678 34
2 c g 9101 1234
3 d h 1121 78

>>> df.filter(regex='data1|data2|col1')[df.isin([1234]).any(axis=1)]

col1 data1 data2
0 a 1234 12
2 c 9101 1234

文档:any , isin

<小时/>

旧答案

只需将列与您的值匹配即可:

>>> df

col1 col2 data1 data2
0 a e 1234 12
1 b f 5678 34
2 c g 9101 56
3 d h 1234 78

>>> df.filter(regex='data1|data2|col1')[df['data1'] == 1234]

col1 data1 data2
0 a 1234 12
3 d 1234 78

关于python - Pandas 从列名称不同的行中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54676997/

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