gpt4 book ai didi

python:两列的组合

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

我使用代码从一个数据框中分离出一列:

 Column_a = df1.loc[:,'Column_a_Name']

和来自另一个数据框的第二列,等效地使用:

 Column_b = df2.loc[:,'Column_b_Name'].

这些列包含名称,我想创建一个列表,列出每个名称中两个名称的所有可能组合。例如:

 Column_a         Column_b
Adam Smith
Barry Brown
Ben Red

我要实现的结果是一个自然的数据框

 [(Adam,Smith), (Adam, Brown), (Adam,Red), (Barry, Brown),...,(Ben, Red)]

我已经尝试了有用的函数 itertools.combinations (Column_a, Column_b),但这只会返回结果:TypeError: cannot convert the series to < type 'int' >。谢谢

最佳答案

使用itertools.product

>>>>df = pd.DataFrame(data=[['Adam', 'Smith'], ['Barry', 'Brown'], ['Ben', 'Red']], columns=['Column_a_Name', 'Column_b_Name'])
df

Column_a_Name Column_b_Name
0 Adam Smith
1 Barry Brown
2 Ben Red

>>>>from itertools import product

>>>>list(product(df['Column_a_Name'], df['Column_b_Name']))


[('Adam', 'Smith'),
('Adam', 'Brown'),
('Adam', 'Red'),
('Barry', 'Smith'),
('Barry', 'Brown'),
('Barry', 'Red'),
('Ben', 'Smith'),
('Ben', 'Brown'),
('Ben', 'Red')]

注意:product 函数返回一个生成器。如果您想遍历数据,则不需要列表。

关于python:两列的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48285893/

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