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

标签 python python-3.x pandas dataframe replication

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

         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/

相关文章:

python - 使用滚动背景时按住空格键或向下键后 Sprite 会消失

python - python pandas 中的季节性数据选择

python - 为什么我的 virtualenv 找不到 distutils.sysconfig?

python 夏娃 : Use Pre-Request Event Hooks to modify data before inserting to DB

python - 如何将词典列表输出到 Excel 工作表?

mysql - 使用python从mysql字符串中搜索关键字?

python - 在 python 中使用多个异常

python - 以模式作为聚合器分组

python - 使用 python 根据不同文件中的键列进行映射

python - TensorFlow:SparseSoftmaxCrossEntropyWithLogits 错误?