[英]How to select from different columns conditionally in pandas
我有一個像Nx5形狀的熊貓DataFrame
['','','A','','']
['','C','','','']
['','A','','','']
['','','','T','']
.
.
.
我想將其轉換為Nx1形狀以獲得非空值
['A']
['C']
['A']
['T']
.
.
.
那怎么辦?
您可以為每一行調用"".join
:
df.apply("".join, axis=1)
如果不確定每一行只有一個非空值,則以下方法更好:
import pandas as pd
df = pd.DataFrame(
[['','','A','',''],
['','C','','',''],
['','A','','',''],
['','','','T','']]
)
s = df.stack()
print s[s!=""]
輸出:
0 2 A
1 1 C
2 1 A
3 3 T
dtype: object
超過一欄:
r = s[s!=""]
r.groupby(level=0).apply(pd.DataFrame.reset_index, drop=True).unstack()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.