gpt4 book ai didi

python - Pandas 列的高效积

转载 作者:行者123 更新时间:2023-11-28 21:03:41 26 4
gpt4 key购买 nike

我想知道是否可以通过 Pandas 函数来实现以下目标。给定两个 Pandas DataFrame,获取一个新 DataFrame,其列是两个给定 DataFrame 中列的笛卡尔积。也就是说,在一个简单的例子中,如果我们有两个 DataFrame:

df1 = pd.DataFrame([[1,2], [1,2]], columns = ['a', 'b'])
df2 = pd.DataFrame([[3,4], [3,4]], columns = ['c', 'd'])

看起来像

df1                 df2
a b c d
0 1 2 0 3 4
1 1 2 1 3 4

我正在寻找一个函数,该函数无需循环即可提供以下内容:

df
a_c a_d b_c b_d
0 3 4 6 8
1 3 4 6 8

最佳答案

你可以使用 pd.concatadd_prefixmul df2df1的系列。

In [806]: pd.concat([df2.mul(df1[c], axis=0).add_prefix(c+'_') for c in df1], axis=1)
Out[806]:
a_c a_d b_c b_d
0 3 4 6 8
1 3 4 6 8

关于python - Pandas 列的高效积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46264791/

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