我正在尝试用python编写一段代码,在pandas dataframe中拆分列值。该列将包含像appleorangemango
这样的值,我希望将其拆分为apple orange mango
。我将有一个大的独特的话,我将分裂对他们的一大套。
假设我有一个名为unique_fruits
的 Dataframe :
| 独特水果|
| --------------|
| 芒果|
| 苹果|
| 橙子|
| 杏|
| 桃子|
另一个fruits的 Dataframe 没有空格,叫做my_fruits
:
| 我的水果|
| --------------|
| 芒果|
| |
| 杏子|
| 橘桃|
| 香蕉|
请注意,banana
不在unique_fruits
Dataframe 中。此外,有时列可以包含空格,如orangemango peach
。最后,该列可以是单个水果或空白,如my_fruits
的第一行和第二行。
我打算读取一个excel文件并将其保存到dataframe。然后,尝试找出模式,我可以根据他们分裂。如果我发现了新的东西,那么我会得到一个未知单词的列表。我将手动添加未知单词的新拆分版本,然后重复,直到我觉得一切都很完美或几乎完美。
未知词的一个例子是bananastrawberry
。banana
和strawberry
都是新的未知单词,我将添加到unique_fruits
Dataframe 中,然后重新运行代码。
如果我有pine
,apple
和pineapple
添加到unique_fruits
,那么我更喜欢它作为pineapple
。只有在unique_fruits
中没有pineapple
时,我才会拆分。
1条答案
按热度按时间41zrol4v1#
你可以在
unique_fruits
中创建一个正则表达式,元素按长度降序排序,使得较长的水果排在第一位(这将优先匹配pineapple
,而不是pine
和apple
),然后用它拆分my_fruits
中的字符串,然后用空格将它们重新连接起来: