我是 Pandas 的新手,所以想根据 excel 文件寻求一些帮助。
在这里,我有一些第 1 列的工作表:

Index   Column1
1       PF7293
2       NodeB Name=SN5208, LogicRNCID=106
3       KL5083
4       Label=DL7765A3U-2, CellID=28643, LogicRNCID=201

我想创建另一个 column2 应该有一些来自 column1 的词,看起来像这样:
Index Column2
1     PF7293
2     SN5208
3     KL5083
4     DL7765

在 excel 中,我们使用了 MID 。我想用 Pandas 做同样的事情。谢谢!

问题2

新表看起来像这样:
Column1    Column2
KL7110     BTS works
KS5007     BSS works
KL5066     Planned works
KL5147     Planned works
KL5066     Unplanned work
KL5077     Power work
KL5077     Power work
AN9045     MW work

我想从第 2 列中为第 1 列中的一个值删除相同的值。
例如,这里是 column1 中的 2 KL5077,column2 中的值相同,我想删除其中一个。
这里的第二个问题是 Column1 中的 2 KL5066 在 Column2 中具有不同的值,在这种情况下,我想将 Column2 中的值放在一起,例如“计划工作/计划外工作”。希望我已经解释得很好))

最佳答案

你可以试试 Series.str.extract :

df['Column2'] = df['Column1'].str.extract(r'([A-Z]{2}\d{4})')

这里的 regex 模式可以被认为是“2个大写字母”后跟“4个数字”

[出去]
   Index                                          Column1 Column2
0      1                                           PF7293  PF7293
1      2                NodeB Name=SN5208, LogicRNCID=106  SN5208
2      3                                           KL5083  KL5083
3      4  Label=DL7765A3U-2, CellID=28643, LogicRNCID=201  DL7765

更新

对于第二个问题:

1) 要删除重复的行,请使用:
df.drop_duplicates(subset=['Column1', 'Column2'], inplace=True)

2) 要加入多个 'Column2' 值,请使用:
df_new = df.groupby('Column1')['Column2'].apply('/'.join).reset_index()

[出去]
  Column1                       Column2
0  AN9045                       MW work
1  KL5066  Planned works/Unplanned work
2  KL5077                    Power work
3  KL5147                 Planned works
4  KL7110                     BTS works
5  KS5007                     BSS works

关于excel - 这里我有一些工作表,第 1 列 :,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55808208/

10-12 22:44