gpt4 book ai didi

python - 使用 numpy 数组修改 pandas dataframe 值

转载 作者:太空狗 更新时间:2023-10-30 00:29:41 26 4
gpt4 key购买 nike

我正在尝试使用 numpy 数组 [相同大小] 修改 pandas 数据框的值字段。这样的事情是行不通的

import pandas as pd
# create 2d numpy array, called arr
df = pd.DataFrame(arr, columns=some_list_of_names)
df.values = myfunction(arr)

还有其他选择吗?

最佳答案

.values 属性通常是一个副本 - 特别是对于混合数据类型(因此不能保证对其进行赋值 - 在新版本的 pandas 中这会引发)。

您应该分配给特定的列(注意顺序很重要)。

df = pd.DataFrame(arr, columns=some_list_of_names)
df[some_list_of_names] = myfunction(arr)

示例(在 pandas 0.15.2 中):

In [11]: df = pd.DataFrame([[1, 2.], [3, 4.]], columns=['a', 'b'])

In [12]: df.values = [[5, 6], [7, 8]]
AttributeError: can't set attribute

In [13]: df[['a', 'b']] = [[5, 6], [7, 8]]

In [14]: df
Out[14]:
a b
0 5 6
1 7 8

In [15]: df[['b', 'a']] = [[5, 6], [7, 8]]

In [16]: df
Out[16]:
a b
0 6 5
1 8 7

关于python - 使用 numpy 数组修改 pandas dataframe 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28375794/

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