我正在尝试在另一个数据框的列中查找数据框中的列的元素,但 index() 对我不起作用

Posted

技术标签:

【中文标题】我正在尝试在另一个数据框的列中查找数据框中的列的元素,但 index() 对我不起作用【英文标题】:I'm trying to find elements of a column in a dataframe in the columns of another dataframe, but index() is not working for me 【发布时间】:2021-06-11 12:21:21 【问题描述】:

我正在尝试在 riesgoRel 数据帧的“Inicio (m)”列中查找腐蚀数据帧的“开始 (m)”列的元素,并获取存储在列表中的索引。我实现了以下代码:

import pandas as pd

corrosion = pd.read_excel('Corrosion.xlsx', index=False)
TPdamage = pd.read_excel('Daños por terceros.xlsx', index=False)

for row in corrosion['Start (m)']:
    indexcorr[row]=riesgoRel['Progresiva Inicio (m)'].index(corrosion['Start (m)'][row])
    
print(indexcorr)    

但是当我尝试运行它时,我收到以下错误:“RangeIndex”对象不可调用。我猜某处有一个相当简单的错误,但我无法弄清楚。 非常感谢。

【问题讨论】:

【参考方案1】:

将文件格式更改为 CSV 并使用 pandas 数据框。

【讨论】:

【参考方案2】:

让我们试试这个:

final_list = corrosion[corrosion ['Start (m)']\
                      .isin(riesgoRel['Progresiva Inicio (m)'].values)]\
                      .index.tolist()

final_list 是所有所需索引的列表。

【讨论】:

以上是关于我正在尝试在另一个数据框的列中查找数据框中的列的元素,但 index() 对我不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何将 numpy 数组存储在 Pandas 数据框的列中?

来自不同数据框的列的数学运算

Pyspark:如何将现有非空列的元组列表作为数据框中的列值之一返回

根据另一列值更新数据框的列

从数据框中删除不包括一组列的列中的nan行。

pyspark:数据框在另一个数据框的列中按ID选择行