我想用新值替换pandas数据框列中的值。我知道我可以将数组分配给新列,删除原始列,然后将新列重命名为旧列,但这似乎是完成这种基本任务的一种round回方式。
df = pd.DataFrame(np.random.random(10), columns=['Values'])
df['new'] = np.random.random(10)
df.drop(columns = 'Values', inplace = True)
df.rename(columns={"new": "Values"}, inplace=True)
有没有更好的方法来实现这一目标?
答案 0 :(得分:1)
最简单地分配给同一列:
df = pd.DataFrame(np.random.random(10), columns=['Values'])
df['Values'] = np.random.random(10)
或使用assign
:
df = pd.DataFrame(np.random.random(10),columns=['Values']).assign(Values=np.random.random(10))
print (df)
Values
0 0.642650
1 0.303899
2 0.395351
3 0.285325
4 0.304549
5 0.820704
6 0.719606
7 0.667412
8 0.545947
9 0.789418