gpt4 book ai didi

python - 如何使用另一个 numpy 数组修改 pandas 数据框中的所有值

转载 作者:太空宇宙 更新时间:2023-11-04 00:13:31 25 4
gpt4 key购买 nike

我有以下代码示例

import pandas as pd

df = pd.DataFrame({'a':[1, 2, 3],
'b':[10, 20, 30],
'c':[100, 200, 300],
'd':['q', 'w', 'r']})

获取数据框的值

In [12]: df[['a', 'b', 'c']].values
Out[12]:
array([[ 1, 10, 100],
[ 2, 20, 200],
[ 3, 30, 300]])

然后我将值归一化

from sklearn.preprocessing import normalize

norm = normalize(df[['a', 'b', 'c']].values, axis=0)

In [11]: norm
Out[11]:
array([[0.26726124, 0.26726124, 0.26726124],
[0.53452248, 0.53452248, 0.53452248],
[0.80178373, 0.80178373, 0.80178373]])

现在我想做类似的事情

df[['a', 'b', 'c']].values = norm

但是我得到了错误(我知道)

AttributeError: can't set attribute

我如何修改这些值而不影响数据框的其他部分(即“e”列和索引);只是值(value)观。

谢谢。

最佳答案

你不需要调用值

df[['a', 'b', 'c']]=norm
df
Out[342]:
a b c d
0 0.267261 0.267261 0.267261 q
1 0.534522 0.534522 0.534522 w
2 0.801784 0.801784 0.801784 r

关于python - 如何使用另一个 numpy 数组修改 pandas 数据框中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51690616/

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