python - Dataframe - 在循环中从变量列表中获取列名称

标签 python python-3.x dataframe

我有一个 list hikari_col它有两个值:column_name1 , column_name2 。 我还有一个数据框 df1其中包含这些值作为列名称。 我正在尝试检查 df1 中的值基于此的数据框 hikari_col列表。所以我从 for 中的列表传递一个值作为数据帧中的一列循环并检查它是否引发错误。

hikari_cols = ["column_name1", "column_name2"]
df1 = create_dfs("hikari", hikari_cols) # creating a df in another function
    for hikari_col in hikari_cols: # looping over values in list (same as column names in df1)
        try:
            df1.hikari_col # Checking if column was created - It is, and its available as `df1.column_name1`
        except:            # But not as df1.hikari_col
            return err_dict = {"error": "not found"}

但是每次都会出现异常。我做错了什么?

最佳答案

这是因为.不能处理字符串,所以必须将df.hikari_col更改为df[hikari_col],但是最有效的方法是:

hikari_cols = ["column_name1", "column_name2"]
df1 = create_dfs("hikari", hikari_cols) # creating a df in another function
if any(i not in df1.columns for i in hikari_cols):
    err_dict = {"error": "not found"}

关于python - Dataframe - 在循环中从变量列表中获取列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59817181/

相关文章:

python - pyqt。你怎么知道 QGraphicsScene 中对象的类型?

python - 合并 PysPark 中的重叠区间

python-3.x - 为什么本地协程的 yield 语法是有效的

python - Tkinter 小部件之间的空间不断增长

dataframe - 加入多个数据帧

python - 理解 python 中的子类

python - 使用 numpy 将数据集分割成成比例的子集

执行函数后,Python 脚本返回意外的 "None"

python - 如何更新 Pandas 中的现有数据框?

python - 将字符串的 Pandas DataFrame 转换为直方图