gpt4 book ai didi

python - Pandas :在一行中向数据框添加多列

转载 作者:行者123 更新时间:2023-12-04 01:05:34 24 4
gpt4 key购买 nike

我来自 R 背景,想知道是否有单行代码可以像 dplyr 一样向 Pandas 中的现有数据框添加几个新列。如果有这个代码:

import pandas as pd

df = pd.DataFrame({'a': range(1, 11)})

df['b'] = range(11, 21)
df['c'] = range(21, 31)
df['d'] = range(31, 40)
df['e'] = range(41, 50)

有没有办法在一行中将所有列添加到 df 中?我在 R 中想要的一个例子是:

library(dplyr)

df <- data.frame('a' = 1:10)

df <- df %>% mutate(b = 11:20, c = 21:30, d = 31:40, e = 41:50)

最佳答案

赋值:

df.assign(b=range(11,21), c=range(21,31), d=range(31,41))

有了字典,事情就更简单了:

# assume you get this from somewhere else
val_dict = {'b': range(11,21), 'c':range(21,31)}

df.assign(**val_dict)

注意b 不是关键字参数的可能选择时,第二种方法是预期的,例如,有空格 'a b' .

关于python - Pandas :在一行中向数据框添加多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66591194/

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