gpt4 book ai didi

Python 数据帧 : Why does my values change to NaN if I change the indices?

转载 作者:行者123 更新时间:2023-11-28 17:26:08 27 4
gpt4 key购买 nike

我想更改我的索引。我的数据框如下:

partA = pd.DataFrame({'u1': 2, 'u2': 3, 'u3':4, 'u4':29, 'u5':4, 'u6':1, 'u7':323, 'u8':9, 'u9':7, 'u10':5}, index = [20])

它给出了一个大小为 (1,10) 的数据框,其中填充了所有单元格。

但是,当我为这个数据框创建一个新的数据框(在我的原始代码中需要它,它包含不同的数据)并且我更改了这个数据框的索引时,我的单元格的值都等于 NaN

我知道我可以使用 reset_index 来更改索引,但我希望能够在一行中完成所有操作。

我现在所做的是以下(导致 NaN)

partB = pd.DataFrame(partA, columns = ['A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I','J'])

最佳答案

partA 转换为 numpy array 需要 values:

partA = pd.DataFrame({'u1': 2, 'u2': 3, 'u3':4, 'u4':29, 'u5':4, 'u6':1, 
'u7':323, 'u8':9, 'u9':7, 'u10':5}, index = [20])
print (partA)
u1 u10 u2 u3 u4 u5 u6 u7 u8 u9
20 2 5 3 4 29 4 1 323 9 7

partB = pd.DataFrame(partA.values,columns = ['A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I','J'])
print (partB)
A B C D E F G H I J
0 2 5 3 4 29 4 1 323 9 7

如果需要partA的索引:

partB = pd.DataFrame(partA.values,
columns = ['A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I','J'],
index = partA.index)
print (partB)
A B C D E F G H I J
20 2 5 3 4 29 4 1 323 9 7

你得到 NaN 因为没有对齐列名,所以如果更改姓氏 (u7),你会得到值:

partB = pd.DataFrame(partA,
columns = ['A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I','u7'],
index = partA.index)
print (partB)
A B C D E F G H I u7
20 NaN NaN NaN NaN NaN NaN NaN NaN NaN 323

关于Python 数据帧 : Why does my values change to NaN if I change the indices?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38911269/

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