基于列数据生成列描述的优雅方法

Reb*_*375 3 python list dataframe pandas

我有一个pandas数据帧:

index    data1    data2
1        30       20
2        20       10  
3        40       90
Run Code Online (Sandbox Code Playgroud)

我想生成一个描述数组,每行一个,指示数据是否重要.

我定义重要值超过25,所以我想要以下数组:

['data1 was significant', '',  'data1 was significant\ndata2was significant']
Run Code Online (Sandbox Code Playgroud)

我知道我可以遍历每一行并检查每一列并构建一个数组,但我想知道是否有一种优雅的方法来使用pandas来做到这一点.

Psi*_*dom 8

使用dot技巧:

df = pd.DataFrame({
    'data1': [30, 20, 40],
    'data2': [20, 10, 90]
}, index=[1,2,3])

df.gt(25).dot(df.columns + ' was significant\n').str.strip().tolist()
# ['data1 was significant', '', 'data1 was significant\ndata2 was significant']
Run Code Online (Sandbox Code Playgroud)