gpt4 book ai didi

python - 将 pandas Series 作为新列添加到特定的 Dataframe 行

转载 作者:行者123 更新时间:2023-11-28 22:18:14 25 4
gpt4 key购买 nike

假设我有一个数据框

df = pd.DataFrame({'A':[0,1],'B':[2,3]})

A B
0 0 2
1 1 3

然后我有一个由其他函数使用 df 第一行的输入生成的系列,但它与现有的 df

没有重叠
s = pd.Series ({'C':4,'D':6})

C 4
D 6

现在我想将 s 添加到 df.loc[0] 中,键成为新的列,而值仅添加到第一行。 df 的最终结果应如下所示:

    A   B   C   D
0 0 2 4 6
1 1 3 NaN NaN

我该怎么做?我发现的类似问题似乎只针对一列执行此操作,或者只是将系列作为新行添加到 DataFrame 的末尾,而不是通过从系列中添加多个新列来更新现有行。

我已经尝试了 df.loc[0,list(['C','D'])] = [4,6] ,这是在另一个答案中建议的,但只有在['C','D'] 是 Dataframe 中已经存在的列。 df.assign(**s) 有效,但随后将系列值分配给所有行。

最佳答案

join 转置:

df.join(pd.DataFrame(s).T)

A B C D
0 0 2 4.0 6.0
1 1 3 NaN NaN

或者使用concat

pd.concat([df, pd.DataFrame(s).T], axis=1)

A B C D
0 0 2 4.0 6.0
1 1 3 NaN NaN

关于python - 将 pandas Series 作为新列添加到特定的 Dataframe 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50687955/

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