我想将多列添加到pandas
DataFrame
并将它们设置为等于现有列。有没有一个简单的方法来做到这一点?在R
我会做:将多列添加到DataFrame并将它们设置为等于现有列
df <- data.frame(a=1:5)
df[c('b','c')] <- df$a
df
a b c
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
5 5 5 5
在pandas
这导致KeyError: "['b' 'c'] not in index"
:
df = pd.DataFrame({'a': np.arange(1,6)})
df[['b','c']] = df.a
这是值得注意的,如。 'df = df.assign(c ='some_value',b ='some_value')'确实按字母顺序将列添加到原始数据框中。所以生成的数据框将有列a b c而不是c b。 –
@Cpt_Jauchefuerst,好点,谢谢!我已将它添加到答案 – MaxU