gpt4 book ai didi

python - Pandas 将数据框转换为没有 None 的元组数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:32 25 4
gpt4 key购买 nike

我正在使用 Apriori 算法分析一些数据。这需要我将数据框转换为元组数组,每个元组对应于数据框的“行”。

In [1]: data
Out[1]:
c1 c2 c3 c4 c5
r1 a b c d None
r2 a b c None None

我已经尝试了下面的代码,但其中仍然有一些“无”。我想删除它们。

In [2]: data = [tuple(x) for x in data.values]
Out[2]:
[('a','b','c','d',None),('a','b','c',None,None)]

我希望这样的数据:

[('a','b','c','d'),('a','b','c')]

最佳答案

使用带过滤的嵌套列表理解:

data = [tuple([y for y in x if y is not None]) for x in data.values]
print (data)
[('a', 'b', 'c', 'd'), ('a', 'b', 'c')]

如果数据量大,则更慢的替代方案 - reshape 以删除 None 并按元组的第一级 MultiIndex 聚合:

data = data.stack().groupby(level=0).apply(tuple).tolist()
print (data)
[('a', 'b', 'c', 'd'), ('a', 'b', 'c')]

关于python - Pandas 将数据框转换为没有 None 的元组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55430784/

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