数据清洗处理实战:Python Pandas 提取某列字符串空格以后数据方法

需求:pandas dateframe 格式的表格中,某一列中含有空格的如下类型的数据,要求提取空格以后的数据用于运算

由于 图上的数据不够明显,其实如

第0行3日价格变化指数为: 1-11空格1 (1-11  1),

5日价格变化指数为: 111-11空格3 (111-11  3),

我们要用的数据为空格后的数据,所以需要把它提取出来,重新建一列,用于整个表格的排序。

对于一般字符串,我们知道相这样的数据,需要先进行拆分,再进行提取,如

相对比较简单。

但对于pandas 数据框中的数据,我们用相同的方法,进行数据提取时,就会出现报错的情况:

selected_stock['价变指数'] = selected_stock[sort_by_col].str.split(' ')[1]

出现这种情况,说明长度不匹配,语句的使用方法有误。

如果我们仅用空格进行分割,不取值,可以正确运行,得到以下结果。

数据此时以加了括号的列表的形式出现,说明上一步直接用列表取数法是没有问题,但取列表第二个数时,和原来表格匹配上出了问题。

既然这一列数据变成了列表格式,那么我们再用pandas 的str 方法将该列数据进行再处理后取值,得到什么结果呢?

Bingo,问题解决了。

df['价变指数'] = df['10日价格变化指数'].str.split(' ').str[1]

收藏或记住这个语句,以备不时之需。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃饭的家伙事儿

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值