gpt4 book ai didi

python - 基于索引复制行会增加行数而不是复制

转载 作者:行者123 更新时间:2023-12-01 09:18:33 25 4
gpt4 key购买 nike

我有数据框,我想在其中复制几行:

         X      Y       diff        No
Index
1d 0.000 0.017 0.000e+00 0
2D 0.083 0.017 3.000e-03 1
3D 0.250 0.017 7.200e-03 2
6D 0.500 0.019 2.400e-03 3
1DD 1.000 0.020 2.400e-03 4
2DD 2.000 0.023 1.300e-03 5
3DD 3.000 0.024 1.000e-03 6
5DD 5.000 0.026 6.500e-04 7
7DD 7.000 0.027 2.667e-04 8
10DD 10.000 0.028 1.200e-04 9
20DD 20.000 0.029 1.200e-04 10
30DD 30.000 0.031 0.000e+00 11

我想使用相同的索引名称复制 30DD 30 次、20DD 20 次和 10DD 10 次。

我尝试了这个,而不是复制它成倍增加

for i in range(4):
test1 = df.append(df.ix['30DD']*30)

X Y diff No
Index
1d 0.000 0.017 0.000e+00 0
2D 0.083 0.017 3.000e-03 1
3D 0.250 0.017 7.200e-03 2
6D 0.500 0.019 2.400e-03 3
1DD 1.000 0.020 2.400e-03 4
2DD 2.000 0.023 1.300e-03 5
3DD 3.000 0.024 1.000e-03 6
5DD 5.000 0.026 6.500e-04 7
7DD 7.000 0.027 2.667e-04 8
10DD 10.000 0.028 1.200e-04 9
20DD 20.000 0.029 1.200e-04 10
30DD 30.000 0.031 0.000e+00 11
30DD 900 0.918 0 330

最佳答案

添加新行,但减去 1,因为 append原始DataFrame:

vals = ['30DD'] * 29 + ['20DD'] * 19 + ['10DD'] * 9
df = df.append(df.loc[vals])

最后,如果想按索引值的数量对值进行排序:

df = df.iloc[df.index.str.extract('(\d+)').astype(int).squeeze().argsort()]

关于python - 基于索引复制行会增加行数而不是复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51010532/

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