【发布时间】:2021-10-04 16:46:18
【问题描述】:
我有熊猫dataframe
import pandas as pd
data = {"Column1": ["258 E SONORA ST SAN",
"57474 SAXONY WAY APT 223 WESLEY",
"62748 CALIFORNIA ST APT 2 SAN",
"3211 LONGLAKE DR FERN",
"420 S PLYMOUTH CT APT 265",
"AHLONA L LABARRE POA -L 274 NESTLINGWOOD DR LONG",
"224-22 141 STREET RICHMOND",
"15624 274TH ST CAMBRIA",
"778 SANTO DOMINGO AVE SW PALM",
"261 BROADMOOR DR SOUTH SIOUX"],
"Colum2" : ["BERNARDINO", "CHAPEL", "FRANCISCO", "CREEK", "CHICAGO", "VALLEY", "HILL", "HEIGHTS", "BAY", "CITY"]}
df = pd.DataFrame(data)
df
输出
Column1 Colum2
0 258 E SONORA ST SAN BERNARDINO
1 57474 SAXONY WAY APT 223 WESLEY CHAPEL
2 62748 CALIFORNIA ST APT 2 SAN FRANCISCO
3 3211 LONGLAKE DR FERN CREEK
4 420 S PLYMOUTH CT APT 265 CHICAGO
5 AHLONA L LABARRE POA -L 274 NESTLINGWOOD DR LONG VALLEY
6 224-22 141 STREET RICHMOND HILL
7 15624 274TH ST CAMBRIA HEIGHTS
8 778 SANTO DOMINGO AVE SW PALM BAY
9 261 BROADMOOR DR SOUTH SIOUX CITY
我有一个 list 的值,我需要在 column1 中拆分字符串
split_city = ["ST","DR", "STREET", "AVE SW"]
我还想在APT 和数字字符之后添加一个拆分。
如何根据列表中的值拆分一列列并将它们添加到 Pandas DataFrame 中的另一列?
所需输出
Column1 Colum2
0 258 E SONORA ST SAN BERNARDINO
1 57474 SAXONY WAY APT 223 WESLEY CHAPEL
2 62748 CALIFORNIA ST APT 2 SAN FRANCISCO
3 3211 LONGLAKE DR FERN CREEK
4 420 S PLYMOUTH CT APT 265 CHICAGO
5 AHLONA L LABARRE POA -L 274 NESTLINGWOOD DR LONG VALLEY
6 224-22 141 STREET RICHMOND HILL
7 15624 274TH ST CAMBRIA HEIGHTS
8 778 SANTO DOMINGO AVE SW PALM BAY
9 261 BROADMOOR DR SOUTH SIOUX CITY
【问题讨论】:
-
您的数据最初是如何被不当拆分的?使用 Pandas 可能有一个很好的方法,但我的第一直觉是在将两个列表放入数据框之前在两个列表上使用
zip。请注意,您不会从任何拆分选项中获得Wesley Chapel。 -
对于
Wesley Chapel,不知道APT和数字后面怎么分割 -
使用
zip和 ...??