如何在python中创建数据框的索引和值列表

时间:2017-09-22 21:11:02

标签: python dataframe

我在python中有一个数据框,我试图只从列中的有效值及其索引创建一个列表,例如。

index   A    B   C   D
Grade            50  50
Date    50          
Time             50  50
Score   50          
Height       50     

我想要一个带有[column,index_name,value]的列表

[A,Date,50,Score,50]
[B,Height,50]
[C,Grade,50,Time,50]

到目前为止,我得到的是

for column in df:
    df.loc[df[column] >= 50]
    matched_list = (df.loc[df[column] >= 50])
    full_list = [column] + list(matched_list.index.values) + [x for x in df[column] if x >= 50]

但是这给了我这个:

[A,Date,Score,50.50]
[B,Height,50]
[C,Grade,Time,50,50]

任何人都可以帮助并感谢你!

1 个答案:

答案 0 :(得分:1)

你几乎拥有它。您只需要交错最后两个列表即可获得所需的输出。你可以用另外一个列表理解来完成这个:

for column in df:
    df.loc[df[column] >= 50]
    matched_list = (df.loc[df[column] >= 50])
    indices = list(matched_list.index.values)
    values = [x for x in df[column] if x >= 50]
    full_list = [column] + [i for j in zip(indices, values) for i in j]

最后一行是您感兴趣的那一行。我刚刚将前两个列表分配给变量以保持行相对较短。