如何在 pandas 数据框中跳过缺失的列头?
我有一个数据表,里面包含了多个.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]