匿名用户
我想在现有数据帧中添加一个新列'e',并且不要更改数据帧中的任何内容。(序列的长度始终与数据帧相同。)
我假设中的索引值与中的索引值匹配。
启动名为的新列并将系列中的值分配给它的最简单方法是:df['e'] = e.values
分配(熊猫0.16.0+)
从Pandas0.16.0开始,您还可以使用,它将新列分配给数据框架,并返回一个新对象(副本),其中除了新列之外还包含所有原始列。df1 = df1.assign(e=e.values)
根据此示例(其中还包括函数的源代码),您还可以包括多个列:df = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
>>> df.assign(mean_a=df.a.mean(), mean_b=df.b.mean())
a b mean_a mean_b
0 1 3 1.5 3.5
1 2 4 1.5 3.5
在您的例子中:np.random.seed(0)
df1 = pd.DataFrame(np.random.randn(10, 4), columns=['a', 'b', 'c', 'd'])
mask = df1.applymap(lambda x: x
df1 = df1[-mask.any(axis=1)]
sLength = len(df1['a'])
e = pd.Series(np.random.randn(sLength))
>&g