index city state_id state_name county_name zip_codes
12846 Alpine CA California San Diego 91901 91903
12860 Granite Hills CA California San Diego 92021 92019
12975 Casa de Oro-Mount CA California San Diego 91977 91941 92020 91976 我需要将邮政编码分成多个子组,但我希望具有相同的行和相同的值,例如:
index city state_id state_name county_name zip_codes
12846 Alpine CA California San Diego 91901
12846 Alpine CA California San Diego 91903
12860 Granite Hills CA California San Diego 92021
12860 Granite Hills CA California San Diego 92019
12975 Casa de Oro-Mount CA California San Diego 91977
12975 Casa de Oro-Mount CA California San Diego 91941
12975 Casa de Oro-Mount CA California San Diego 92020
12975 Casa de Oro-Mount CA California San Diego 91976发布于 2019-10-30 21:58:58
pandas 0.25+的解决方案-将Series.str.split与DataFrame.assign一起用于列表的同一列,然后使用DataFrame.explode
df1 = df.assign(zip_codes = df['zip_codes'].str.split()).explode('zip_codes')
print (df1)
city state_id state_name county_name zip_codes
index
12846 Alpine CA California San Diego 91901
12846 Alpine CA California San Diego 91903
12860 Granite Hills CA California San Diego 92021
12860 Granite Hills CA California San Diego 92019
12975 Casa de Oro-Mount CA California San Diego 91977
12975 Casa de Oro-Mount CA California San Diego 91941
12975 Casa de Oro-Mount CA California San Diego 92020
12975 Casa de Oro-Mount CA California San Diego 91976https://stackoverflow.com/questions/58626944
复制相似问题