gpt4 book ai didi

python - 将列添加到由python中的for循环计算的数据框

转载 作者:行者123 更新时间:2023-11-30 22:57:06 26 4
gpt4 key购买 nike

import re
#Creating several new colums with a for loop and adding them to the original df.
#Creating permutations for a second level of binary variables for df
for i in list_ib:
for j in list_ib:
if i == j:
break
else:
bina = df[i]*df[j]
print(i,j)

i 是属于数据帧 (df) 的二进制列,j 是相同的列。我已经计算了每列与每列的乘法。现在我的问题是,如何将所有新的二进制乘积列添加到原始 df 中?

我已经尝试过:

df = df + df[i,j,bina]

但我没有得到我需要的结果。有什么建议吗?

最佳答案

据我了解,i,j,bina 不是您的 df 的一部分。为其中每一个构建数组,每个数组元素代表一个“行”,一旦准备好 i,j,bina 的所有行,就可以像这样连接:

>>> new_df = pd.DataFrame(data={'i':i, 'j':j, 'bina':bina}, columns=['i','j','bina'])
>>> pd.concat([df, new_df], axis=1)

或者,一旦收集了 'i'、'j' 和 'bina' 的所有数据,并假设您在单独的数组中拥有每个数据的数据,您可以执行以下操作:

>>> df['i'] = i
>>> df['j'] = j
>>> df['bina'] = bina

仅当这三个数组的元素数量与 DataFrame df 中的行数一样多时,此方法才有效。

希望这会有所帮助!

关于python - 将列添加到由python中的for循环计算的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36830232/

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