Python 如果列中包含任何特殊字符,则重复行
我已经编写了一个小型python程序来处理我收到的订单。但是由于我用来合并df的参考值发生了变化 例如: 问题是,我过去常常将旧的订单号合并到新的订单号,这样我就知道客户正在退货。但最近我开始收到3c456而不是3c456/4c345的部分订单。这意味着我的客户现在只更新一种产品。 我的pd.merge代码再也找不到偏序了 我的密码是Python 如果列中包含任何特殊字符,则重复行,python,pandas,dataframe,Python,Pandas,Dataframe,我已经编写了一个小型python程序来处理我收到的订单。但是由于我用来合并df的参考值发生了变化 例如: 问题是,我过去常常将旧的订单号合并到新的订单号,这样我就知道客户正在退货。但最近我开始收到3c456而不是3c456/4c345的部分订单。这意味着我的客户现在只更新一种产品。 我的pd.merge代码再也找不到偏序了 我的密码是 df = pd.merge(old_PO_file, New_PO_file, on =PO-number) 因为新订单是部分订单,可以是斜杠之前或之后的值。
df = pd.merge(old_PO_file, New_PO_file, on =PO-number)
因为新订单是部分订单,可以是斜杠之前或之后的值。
如果采购订单编号列中有斜杠(/),我想复制该单元格中的所有行
如果可能的话,请告诉我
感谢您可以使用来创建原始数据帧的系列
:
print (df)
Sold-to PO-Number Sold-to-party
0 1234 6d1234 abc company
1 2345 3c456/4c345 edf company
2 5679 9f639 mno company
df1 = df.drop('PO-Number', axis=1) \
.join(df['PO-Number'] \
.str \
.split('/', expand=True) \
.stack() \
.reset_index(level=1, drop=True).rename('PO-Number')) \
.reset_index(drop=True)
print (df1)
Sold-to Sold-to-party PO-Number
0 1234 abc company 6d1234
1 2345 edf company 3c456
2 2345 edf company 4c345
3 5679 mno company 9f639
请分享问题中的代码。请花时间阅读这篇文章,以及如何提供答案,并相应地修改您的问题。这些提示可能也很有用。@PatrickHaugh刚刚添加了代码。它曾经是一个简单的pd.merge代码。所以你想把
3c456/4c345
行分成两行,一行是3c456
行,一行是4c345
行?@PatrickHaugh是的,你说得对,非常感谢。成功了。不过,我会花很多时间来理解你是如何做到的。。。。非常感谢。