使用Python的组合方法
我是Python新手,我正在尝试用两组不同的数据解决一个问题。我使用pandas.read\u csv创建了两个数据帧,s和c S使用Python的组合方法,python,pandas,itertools,Python,Pandas,Itertools,我是Python新手,我正在尝试用两组不同的数据解决一个问题。我使用pandas.read\u csv创建了两个数据帧,s和c S Spread per1 per2 per3 acc 0 4.50% 1.26% 0.35% 0.50% 0.60% 1 4.45% 1.29% 0.35% 0.50% 0.60% 2 4.40% 1.31% 0.35% 0.50% 0.60% 3 4.35% 1.
Spread per1 per2 per3 acc
0 4.50% 1.26% 0.35% 0.50% 0.60%
1 4.45% 1.29% 0.35% 0.50% 0.60%
2 4.40% 1.31% 0.35% 0.50% 0.60%
3 4.35% 1.34% 0.35% 0.50% 0.60%
4 4.30% 1.37% 0.35% 0.50% 0.60%
c
Cer OO
0 1.00% 0.65%
1 1.05% 0.68%
2 1.10% 0.71%
3 1.15% 0.73%
4 1.20% 0.76%
所以我想做的是,对于来自c的Cer和OO的每一个组合,我想填充来自s的所有记录。(不确定这是否是一个好的解释方式)。请参见下面的示例
Spread per1 per2 per3 acc Cer OO
0 4.50% 1.26% 0.35% 0.50% 0.60% 1.00% 0.65%
1 4.45% 1.29% 0.35% 0.50% 0.60% 1.00% 0.65%
2 4.40% 1.31% 0.35% 0.50% 0.60% 1.00% 0.65%
3 4.35% 1.34% 0.35% 0.50% 0.60% 1.00% 0.65%
4 4.30% 1.37% 0.35% 0.50% 0.60% 1.00% 0.65%
5 4.50% 1.26% 0.35% 0.50% 0.60% 1.05% 0.68%
6 4.45% 1.29% 0.35% 0.50% 0.60% 1.05% 0.68%
7 4.40% 1.31% 0.35% 0.50% 0.60% 1.05% 0.68%
8 4.35% 1.34% 0.35% 0.50% 0.60% 1.05% 0.68%
9 4.30% 1.37% 0.35% 0.50% 0.60% 1.05% 0.68%
我读到熊猫和/或itertools可以帮我做这种分析?混淆之处在于,试图为dataframec中两个字段的每个组合从s创建所有记录时
同样,任何文档和/或见解方面的帮助都将非常有用。谢谢您使用笛卡尔连接和
合并
以及临时键:
S.assign(key=1).merge(c.assign(key=1), on='key').drop('key', axis=1)
输出:
Spread per1 per2 per3 acc Cer OO
0 4.50% 1.26% 0.35% 0.50% 0.60% 1.00% 0.65%
1 4.50% 1.26% 0.35% 0.50% 0.60% 1.05% 0.68%
2 4.50% 1.26% 0.35% 0.50% 0.60% 1.10% 0.71%
3 4.50% 1.26% 0.35% 0.50% 0.60% 1.15% 0.73%
4 4.50% 1.26% 0.35% 0.50% 0.60% 1.20% 0.76%
5 4.45% 1.29% 0.35% 0.50% 0.60% 1.00% 0.65%
6 4.45% 1.29% 0.35% 0.50% 0.60% 1.05% 0.68%
7 4.45% 1.29% 0.35% 0.50% 0.60% 1.10% 0.71%
8 4.45% 1.29% 0.35% 0.50% 0.60% 1.15% 0.73%
9 4.45% 1.29% 0.35% 0.50% 0.60% 1.20% 0.76%
10 4.40% 1.31% 0.35% 0.50% 0.60% 1.00% 0.65%
11 4.40% 1.31% 0.35% 0.50% 0.60% 1.05% 0.68%
12 4.40% 1.31% 0.35% 0.50% 0.60% 1.10% 0.71%
13 4.40% 1.31% 0.35% 0.50% 0.60% 1.15% 0.73%
14 4.40% 1.31% 0.35% 0.50% 0.60% 1.20% 0.76%
15 4.35% 1.34% 0.35% 0.50% 0.60% 1.00% 0.65%
16 4.35% 1.34% 0.35% 0.50% 0.60% 1.05% 0.68%
17 4.35% 1.34% 0.35% 0.50% 0.60% 1.10% 0.71%
18 4.35% 1.34% 0.35% 0.50% 0.60% 1.15% 0.73%
19 4.35% 1.34% 0.35% 0.50% 0.60% 1.20% 0.76%
20 4.30% 1.37% 0.35% 0.50% 0.60% 1.00% 0.65%
21 4.30% 1.37% 0.35% 0.50% 0.60% 1.05% 0.68%
22 4.30% 1.37% 0.35% 0.50% 0.60% 1.10% 0.71%
23 4.30% 1.37% 0.35% 0.50% 0.60% 1.15% 0.73%
24 4.30% 1.37% 0.35% 0.50% 0.60% 1.20% 0.76%
谢谢,斯科特。在我的数据帧中,S的计数是94,C的计数是381。当我尝试执行该函数并创建一个新的数据帧时,我得到了28的计数。我不知道如何在编辑中显示我的代码。