gpt4 book ai didi

python - 如何在 pandas 中有条件地从不同列中进行选择

转载 作者:行者123 更新时间:2023-12-01 05:32:01 25 4
gpt4 key购买 nike

我有一个类似于 Nx5 形状的 pandas 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()

关于python - 如何在 pandas 中有条件地从不同列中进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com