簡體   English   中英

熊貓數據框的條件列輸出

[英]conditional column output for pandas dataframe

我有一個熊貓DataFrame看起來像這樣:

nameA     statusA     nameB     statusB
a         Q           x         X
b         Q           y         X
c         X           z         Q
d         X           o         Q
e         Q           p         X
f         Q           r         Q

我想打印基於以下規則此數據框的行:輸出列nameA如果statusAQ否則,如果statusBQ輸出列nameB 並且如果statusAstatusB均為Q ,則應同時輸出nameAnameB列。

為此有一個內襯嗎?

更新:

預期輸出:

a,Q
b,Q
z,Q
o,Q
e,Q
f,Q,r,Q
> data['con'] = data['statusA'] + data['statusB']
> data.apply(lambda v: v['nameA'] if v['con'] == 'QX' else v['nameB'] if v['con'] == 'XQ' else v['nameA']+ ','+ v['nameB'], axis=1)
0     a
1     b
2     z
3     o
4     e
5    f,r
dtype: object

您可以使用字符串串聯產生確切的結果。

就像是

> data.apply(lambda v: v['nameA']+',Q' if v['con'] == 'QX' else v['nameB'] + ',Q' if v['con'] == 'XQ' else v['nameA']+ ',Q,' + v['nameB'] + ',Q', axis=1)
0        a,Q
1        b,Q
2        z,Q
3        o,Q
4        e,Q
5    f,Q,r,Q
dtype: object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM