熊猫,在for循环中查找标题名称

时间:2018-03-28 00:46:48

标签: python pandas

我试图从真正需要重新格式化的excel文件中提取数据到一个新的简单文件中,以便于阅读。以下是一个简化的例子:
Example 我在看什么

我要做的是检查是否有单位被拒绝,然后使用标题名称查找值并将其保存到新列。

到目前为止,我所拥有的是

for each in df['Total Unit Rejected']:
    if each > 0:
        # Look up values in columns 3:7
        newDataFrame = df['Total Unit Tested','Total Unit Rejected','Notes']

我希望新的Excel工作表看起来像下面的图片Output

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

首先,您可以使用以下代码过滤只包含df['Total Unit Rejected'] > 0的行:

df = df[df['Total Unit Rejected'] > 0]

然后你可以使用以下代码添加Notes列(你可能需要在lamnda函数中添加一些逻辑来检查列是否没有NaN。最好将lambda函数单独定义一个因函数体更大而函数更早):

df['Notes'] = df.apply(lambda x: x['Error1']+" Error 1\n"+ x['Error2']+" Error 2\n"+x['Error3'] + " Error 3")

然后,您可以使用以下代码选择特定列:

newDataFrame = df[['Total Unit Tested','Total Unit Rejected','Notes']]