gpt4 book ai didi

python - 获取 pandas DataFrame 中的非空元素

转载 作者:太空宇宙 更新时间:2023-11-04 00:41:36 24 4
gpt4 key购买 nike

我有一个DataFrame,我想获取一些非空元素作为列表。

具体来说,给定df:

df = pd.DataFrame({"a":["A",None,"B"],"b":[None,"C","D"],"c":["E","F",None]})
a b c
0 A None E
1 None C F
2 B D None

和有趣的列列表 ["a","c"],我想提取指定列的非 None 元素的列表,即,

["A","B","E","F"]

我觉得我可以

[value for colname in interesting_columns
for value in df.loc[df[colname].notnull(),colname]]

但我想知道是否有一些非迭代魔术。

最佳答案

您可以 stack将其格式化为长格式并使用 .values 访问器检索数据。默认情况下,stack() 会自动删除缺失值:

df[['a', 'c']].T.stack().values
# array(['A', 'B', 'E', 'F'], dtype=object)

或者如果你想要一个列表:

df[['a', 'c']].T.stack().tolist()
# ['A', 'B', 'E', 'F']

T需要按照您请求的顺序获取值。

关于python - 获取 pandas DataFrame 中的非空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41705388/

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