我是 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/