如何调整Python代码以映射到拼写不同但值相同的列名?

2024-10-02 20:32:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python中的pandas模块下载一个输入数据集并读取csv文件中的每一列。在python脚本中,我有多个引用指向dataset1中特定的硬编码列名。我有另一个名为dataset2的数据集,它的数据类型与dataset1相同,但列名不同。例如,dataset1有一个名为“Apple”的列,dataset2有一个名为“apples”的列。这两列引用相同的数据值,但是,我的脚本在整个代码中只读入并查找名为“Apple”的列。我如何修改我的脚本,以便我可以保留在所有名为“Apple”的列中读取的所有代码行,但是make是这样的:“Apple”也可以表示和读取任何名为“apples”的列或任何其他表示“Apple”类型数据的列名。例如,如果我查看一个名为“dataset3”的新数据集,并遇到一个名为“redfruit”的新列,该列表示与“Apple”和“apples”相同的数据,我可以将其添加到代码中的一个位置/函数中,这样我就不必更改代码中仅硬编码了初始“Apple”查找的所有其他行。你知道吗

下面是我在数据集中的读数

import pandas as pd
data= pd.read_csv(input_name))

下面是我的一个代码示例,我正在查找一个名为“Apple”的列名,但当它查找“Apple”时,我还希望它查找其他列,如“apples”和“redfruit”,并阅读其中的内容。唯一的问题是,我有多个类似的代码块,只引用“Apple”,但我不想硬编码“apples”、“redfruit”和所有这些块中的任何其他Apple类型的列名,但可能只是硬编码在代码的一个区域中,只要在我的代码中引用“apples”,就可以用作查找。从一个数据集到另一个数据集,列不在固定位置。你知道吗

#code block 1
for columns in data.columns:
  if column == 'Apple':
       pass

# code block 2
  data['Apple'] = data['Apple'].apply(str)

我想试一下字典,但不知道怎么设置。你知道吗


Tags: csv数据代码脚本类型applepandas编码