excel - 这里我有一些第 1 列 : 的工作表

标签 excel python-3.x pandas data-science

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

最佳答案

你可以尝试Series.str.extract :

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

这里的正则表达式模式可以被认为是“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/

相关文章:

excel - 在VBA中使用类有什么好处?

python - 如何在 turtle 图形中显示两条重叠的线

Python3从PID获取进程基地址

python - 如何创建一个列,其中行数位于 pandas 中另一列的两个值之间

Python使用pandas每三行转列

python - pandas dataframe - 如果有新索引则添加新行,如果存在则用列数据补充索引

excel - 对象变量或 with block 未设置 -

java - java中Excel到csv的转换。货币表示问题

vba - 复制两个 Excel 实例之间的范围

python - PCA fit() 运行时警告(在 true_divide 中遇到无效值)