如何在 pandas 数据框中跳过缺失的列头?

0 投票
2 回答
1197 浏览
提问于 2025-04-18 00:42

我有一个数据表,里面包含了多个.csv文件。我想根据数据表中的某一列的值来报告一个叫“feed start”的值。不过,有些数据表缺少这个列的标题["FC.PV [EFT (h)"]。我只想跳过那些没有这个标题["FC.PV [EFT (h)"]的数据表。

shorts = ['F:/DASGIP/CSV files/Run Data/' + str(i) + '.csv' for i in files]
ferms = [pd.read_csv(s) for s in shorts]

for i in range(len(files)):    
        FStartVs =  ferms[i][["FC.PV [EFT (h)]"] > 0.0]["EFT (h)"].min()
        print "Feed Start C", files[i], "=", FStartVs[i], "EFT (h)"

我记得见过一个简单的语句,可以在数据表缺少某一列时跳过它,但我找不到了。如果有人能帮忙,我会非常感激。

2 个回答

0

你可以检查一个数据框(dataframe)里是否有某一列:

if "FC.PV [EFT (h)" in df.columns:
    # do something

这样你就可以跳过那些没有这个列的数据框了。

0

如果你想在ferms中去掉那些没有["FC.PV [EFT (h)"]这一列的DataFrames,可以在第二行之后加上这一行代码。

ferms=[DF for DF in ferms if '["FC.PV [EFT (h)"]' in DF.columns]

撰写回答