假设我们有这样一组数据,包含企业名称和地点两列,其中地点列的元素都是列表。
import pandas as pd
# 创建数据框
data = {'企业名称':'哈哈','嘿嘿','哦哦','哇塞','嗯嗯','哇哦',
'地点': ['河北_承德'], ['江西_赣州'],['江苏_苏州'],['新疆_乌鲁木齐'],['广西_南宁'],['广东_珠海']}
df = pd.DataFrame(data)
df
我们希望从地点列中提取省份、城市,即将列表的第一个元素作为新的一列:省份列,将列表的第二个元素作为新的一列:城市列。
str.get()方法
str.get()可以从列表列中获取元素。
# 提取省份
df['省份'] = df['地点'].str.get(0)
# 提取城市
df['城市'] = df['地点'].str.get(1)
df
apply()方法
# 定义一个函数,获取列表的第一个元素
def get_0(list):
return list[0]
# 定义一个函数,获取列表的第二个元素
def get_1(list):
return list[1]
# 提取省份
df['省份1'] = df['地点'].apply(get_0)
# 提取城市
df['城市1'] = df['地点'].apply(get_1)
df
原文始发于微信公众号(Python for Finance):pandas | str.get()从列表列中提取元素
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/272489.html