![](/img/trans.png)
[英]Elegant way to Identify columns based on regex and fill different default values
[英]Elegant way to produce description of columns based on column data
我有一個pandas數據幀:
index data1 data2
1 30 20
2 20 10
3 40 90
我想生成一個描述數組,每行一個,指示數據是否重要。
我定義重要值超過25,所以我想要以下數組:
['data1 was significant', '', 'data1 was significant\ndata2was significant']
我知道我可以遍歷每一行並檢查每一列並構建一個數組,但我想知道是否有一種優雅的方法來使用pandas來做到這一點。
使用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']
或者,使用np.where
。
[''.join(x) for x in np.where(df > 25, df.columns + ' was significant\n', '')]
['data1 was significant\n',
'',
'data1 was significant\ndata2 was significant\n']
或者,使用apply
In [323]: (df.gt(25).apply(lambda x: '\n'.join(
['%s was significant' % c for c, v in x.iteritems() if v]), axis=1)
.tolist())
Out[323]: ['data1 was significant', '', 'data1 was significant\ndata2 was significant']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.