首页 > 解决方案 > 如何在 Pandas DataFrame 行上打印列名?

问题描述

我有这个数据框:

 df = pd.DataFrame({'day':['1/1/2017','1/2/2017','1/3/2017','1/4/2017','1/5/2017','1/6/2017','1/7/2017'],
                     'event':['Rain','Sunny','Snow','Snow','Rain','Sunny','Sunny'],
                   'temperature': [32, 35, 28,24,32,31,''],'windspeed':[6,7,2,7,4,2,'']})
 df

在此处输入图像描述

我正在尝试查找索引 6 上缺失值的标题:

for x in df.loc[6]:
if x == '':
    print(df.columns.values)
else: print(x)

在此处输入图像描述

我试过搜索,我能得到的最接近的是我现在所拥有的。最终,我尝试将这些值插入数据框中:温度 = 34,风速 = 8。

但我的第一步只是尝试构建循环/if 语句,说明 if x=='' & [COLUMN_NAME] == 'temperature'... 这就是我卡住的地方。我是 python 新手,只是想学习 Pandas。我只需要返回我所在的列,而不是所有列的列表。

标签: pythonpandasdataframe

解决方案


有更好的方法可以做到这一点,但这是可行的。

for col, val in df.loc[6].iteritems():
    if not val: # this is the same as saying "if val == '':"
        print(col)
    else:
        print(val)

推荐阅读