gpt4 book ai didi

python - 让 Pandas 设置正确

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

从 0.13 版本开始,可以通过引用 .loc 或 .ix 中尚不在数据框中的索引来附加到数据框中。查看documentation .

然后我很困惑为什么这条线失败了:

all_treatments.loc[originalN:newN,:]    = all_treatments.loc[0:newrowcount,:]

这会产生一个 ValueError:

ValueError: could not broadcast input array from shape (12) into shape (0)

此处 all_treatments.shape = (53, 12), originalN = 53, newN = 64, all_treatments.loc[ originalN:newN,:].shape = (0,12), all_treatments.loc[0:newrowcount,:].shape = (12,12).

这里设置放大的正确方法是什么?

最佳答案

只能对单行或单列进行放大设置。您正在设置一个范围。

The .loc/.ix/[] operations can perform enlargement when setting a non-existant key for that axis.

为了您的使用,像这样的东西应该可以用新的空白行扩展数据框:

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
>>> df
a b
0 1 4
1 2 5
2 3 6

new_row_count = 2
for new_row, old_row in enumerate(range(new_row_count), start=len(df)):
df.ix[new_row] = None

>>>df
a b
0 1 4
1 2 5
2 3 6
3 NaN NaN
4 NaN NaN

如果您想从原始数据框中复制数据,我通常只是连接。

df = pd.concat([df, df.iloc[:2, :]], ignore_index=True)

关于python - 让 Pandas 设置正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32749104/

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