【问题标题】:Merging two columns on value合并两列值
【发布时间】:2022-09-27 14:53:36
【问题描述】:

可重现的数据框- 将熊猫导入为 pd

数据 = {\'refid\': [\'1.2.34\', \'1.2.35\', \'1.3.66\', \'1.6.99\', \'1.9.00\', \'1.87.66\', \'1.98.00\', \'1.100.1\', \'1.101.3\'], } my_index = pd.MultiIndex.from_arrays([[\"A\"]*6 + [\"B\"]*3, [1, 1, 1, 2, 2, 2, 1, 1, 1]],名称=[\"ID-A\",\"ID-B\"]) df = pd.DataFrame(data, index=my_index)

我想要一个新的列,它将 ID-B 和 refid 合并到第二个分隔符。 例如,对于 ID-B 1 和 refid 1.2.34,首先,secondary-refid 列应为 1.2,唯一 ID 应为 1_1.2

    标签: python pandas dataframe numpy


    【解决方案1】:

    您可以使用:

    df['new'] = (df.index.get_level_values('ID-B').astype(str)+'_'
                 +df['refid'].str.extract('(\d+\.\d+)', expand=False)
                )
    

    输出:

                 refid      new
    ID-A ID-B                  
    A    1      1.2.34    1_1.2
         1      1.2.35    1_1.2
         1      1.3.66    1_1.3
         2      1.6.99    2_1.6
         2      1.9.00    2_1.9
         2     1.87.66   2_1.87
    B    1     1.98.00   1_1.98
         1     1.100.1  1_1.100
         1     1.101.3  1_1.101
    

    【讨论】:

      猜你喜欢
      • 2017-03-23
      • 2017-05-28
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多