python学习笔记(去除dataframe中有空格元素中的空格)

参考:python中的apply(),applymap(),map() 的用法和区别

推荐方法2

In [1]: import pandas as pd

In [2]:  a=pd.DataFrame({'a':['  2  ',1],'b':[3,'  4  ']})

In [3]: a
Out[3]:
       a      b
0    2        3
1      1    4
#  可以看到2,4处有许多空格,在进行后续操作会有影响,因此想要将空格去掉
#  方法1:
In [4]: def delete_space(x):
   ...:     if type(x) is str:
   ...:         return x.strip()
   ...:     else:
   ...:         return x
   
In [5]: a.applymap(delete_space)
Out[5]:
   a  b
0  2  3
1  1  4

# 此时可以看到空格已经被去掉,在此当然也可以用int将字符转成数字,
# 但考虑到实际过程并非都为数字,也有可能是字符,例如:
In [21]:  b=pd.DataFrame({'a':['  a  ',1],'b':[3,'  c  ']})
In [23]: b
Out[23]:
       a      b
0    a        3
1      1    c
#  这个时候上方法依然适用:
In [26]: b.applymap(delete_space)
Out[26]:
   a  b
0  a  3
1  1  c

# 方法2
# 上面还定义一个函数,实际上采用lambda一行就能实现,一模一样的效果
In [24]: a.applymap(lambda x:x.strip() if type(x)==str else x)
Out[24]:
   a  b
0  2  3
1  1  4

In [25]: b.applymap(lambda x:x.strip() if type(x)==str else x)
Out[25]:
   a  b
0  a  3
1  1  c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值