如何用函数拆分表格zip_codes列至独立行且保留其他列值?
当然有办法!不同工具都有对应的函数来实现这种拆分需求
我来给你分享几个常用场景下的解决方案:
1. Python Pandas(数据分析常用)
Pandas里的explode()函数就是专门干这个的,完美匹配你的需求。步骤很简单:
- 先把
zip_codes列的字符串按空格拆分成列表 - 然后用
explode()把列表中的每个元素拆成单独一行,其他列自动重复对应的值
示例代码:
import pandas as pd # 模拟你的原始数据 data = { 'index': [12846, 12860, 12975], 'city': ['Alpine', 'Granite Hills', 'Casa de Oro-Mount'], 'state_id': ['CA', 'CA', 'CA'], 'state_name': ['California', 'California', 'California'], 'county_name': ['San Diego', 'San Diego', 'San Diego'], 'zip_codes': ['91901 91903', '92021 92019', '91977 91941 92020 91976'] } df = pd.DataFrame(data) # 拆分并展开 df['zip_codes'] = df['zip_codes'].str.split() df_exploded = df.explode('zip_codes', ignore_index=True) print(df_exploded)
运行后就能得到你想要的结果啦。
2. SQL(以PostgreSQL为例)
如果你的数据存在数据库里,PostgreSQL可以用string_to_array()+unnest()组合来实现:
SELECT index, city, state_id, state_name, county_name, unnest(string_to_array(zip_codes, ' ')) AS zip_codes FROM your_table_name;
string_to_array把空格分隔的zip字符串转成数组unnest把数组中的每个元素拆成独立的行
3. Excel(Power Query工具)
如果你习惯用Excel处理数据,Power Query能可视化完成这个操作:
- 选中你的数据区域,点击「数据」选项卡 → 「从表格/区域」(弹出创建表格确认框时,勾选「我的表格有标题」)
- 在Power Query编辑器中,选中
zip_codes列 - 点击「转换」选项卡 → 「拆分列」→ 「按分隔符」,选择空格作为分隔符,然后在「拆分到」里选「行」
- 最后点击「关闭并上载」,拆分后的数据就会导入到新工作表里
这些方法都能轻松实现你要的拆分效果,选适合你当前工具链的就行~
内容的提问来源于stack exchange,提问作者ruddy simonpour
相关产品推荐
相关产品推荐

