import numpy as np
  import pandas as pd
1 #字符串常用方法 - strip
s = pd.Series([' jack ','jill',' jease ','feank'])
df = pd.DataFrame(np.random.randn(3,2),columns=[' Column A',' Column B'],index=range(3))
print(s)
print(df.columns) print('----')
print(s.str.lstrip().values)#去掉左边的空格
print(s.str.rstrip().values)#去掉右边的空格
df.columns = df.columns.str.strip()
print(df.columns)

结果:

0      jack
1 jill
2 jease
3 feank
dtype: object
Index([' Column A', ' Column B'], dtype='object')
----
['jack ' 'jill' 'jease ' 'feank']
[' jack' 'jill' ' jease' 'feank']
Index(['Column A', 'Column B'], dtype='object')
#字符串常用方法 - replace  替换字符串
df = pd.DataFrame(np.random.randn(3,2),columns=[' Columns A',' Columns B'],index = range(3))
print(df.columns)
df.columns = df.columns.str.replace(' ','-')
print(df.columns) df.columns = df.columns.str.replace('-','hehe',n=1)#表示用hehe去替换第一个' '
print(df.columns)

结果:

Index([' Columns A', '  Columns B'], dtype='object')
Index(['-Columns-A', '--Columns-B'], dtype='object')
Index(['heheColumns-A', 'hehe-Columns-B'], dtype='object')
#字符串常用方法 - split、rsplit  分成列表list的形式
s = pd.Series(['a,b,c','1,2,3',['a,,,c'],np.nan])
print(s)
print('----')
print(s.str.split(','))
print('----')
#类似于字符串的split
print(s.str.split(',')[0])#索引第一行
print(s.str.split(',').str[0])#第一列
print(s.str.split(',').str.get(1))#第二列
#可以使用get或者[]符号访问拆分列表的元素 print(s.str.split(',',expand=True,n=1))#n为拓展数量
print(s.str.rsplit(',',expand=True,n=1))#rsplit 从右到左分
#expand可以扩展此操作来返回DataFrame
#n参数限制分数
#rsplit类似于split,反向工作,即从字符串的末尾到字符串开头
print('dataframe:')
df = pd.DataFrame({'key1':['a,b,c','1,2,3',[',,,']],
'key2':['a-b-c','1-2-c',[',-,-,']]})
print(df['key2'])
print(df['key2'].str.split('-'))

结果:
0      a,b,c
1      1,2,3
2    [a,,,c]
3        NaN
dtype: object
----
0    [a, b, c]
1    [1, 2, 3]
2          NaN
3          NaN
dtype: object
----
['a', 'b', 'c']
0      a
1      1
2    NaN
3    NaN
dtype: object
0      b
1      2
2    NaN
3    NaN
dtype: object
     0    1
0    a  b,c
1    1  2,3
2  NaN  NaN
3  NaN  NaN
     0    1
0  a,b    c
1  1,2    3
2  NaN  NaN
3  NaN  NaN
dataframe:
0      a-b-c
1      1-2-c
2    [,-,-,]
Name: key2, dtype: object
0    [a, b, c]
1    [1, 2, c]
2          NaN
Name: key2, dtype: object

#字符串索引
s = pd.Series(['A','b','C','bbhello','',np.nan,'hj'])
df = pd.DataFrame({'key1':list('abcdef'),
'key2':['hee','fv','w','hjja','',np.nan]})
print(s,'\n-----')
print(s.str[0])#取第一个字符串
print(s.str[:2])#取前2个字符
print('-----')
print(df['key2'].str[0])
#str之后和字符串本身索引方式相同

结果:

0          A
1 b
2 C
3 bbhello
4 123
5 NaN
6 hj
dtype: object
-----
0 A
1 b
2 C
3 b
4 1
5 NaN
6 h
dtype: object
0 A
1 b
2 C
3 bb
4 12
5 NaN
6 hj
dtype: object
-----
0 h
1 f
2 w
3 h
4 1
5 NaN
Name: key2, dtype: object

2018.03.26 Python-Pandas 字符串常用方法的更多相关文章

  1. 2018.03.27 python pandas merge join 使用

    #2.16 合并 merge-join import numpy as np import pandas as pd df1 = pd.DataFrame({'key1':['k0','k1','k2 ...

  2. 2018/4/26 python文件处理方式

    目录 2018/4/26总结 1. 如果有一天群内问题总结: 问题:python2和python3的默认编码是什么? 2. python学习总结: python的处理文件方式 2018/4/26总结 ...

  3. python pandas字符串函数详解(转)

     pandas字符串函数详解(转)——原文连接见文章末尾 在使用pandas框架的DataFrame的过程中,如果需要处理一些字符串的特性,例如判断某列是否包含一些关键字,某列的字符长度是否小于3等等 ...

  4. Python入门-字符串常用方法

    Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可. var1 = 'Hello Worl ...

  5. Python中字符串常用方法

    capitalize() String.capitalize() 将字符串首字母变为大写 name = 'xiaoming' new_name = name.capitalize() print(ne ...

  6. python基础---字符串常用方法汇总

    s3 = '123's2 = ' 's1 = 'This Is \t Cash's='abcdefghijklmnopqrstuvwxyz's4 = "0000000this is stri ...

  7. 2018/03/26 每日一个Linux命令 之 du

    昨天使用 df 查看了磁盘空间中所有的容量. 今天学习 du 查看目录或者文件的大小. du会显示指定的目录或文件所占用的磁盘空间. -- du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合 ...

  8. Python 基础教程 —— Pandas 库常用方法实例说明

    目录 1. 常用方法 pandas.Series 2. pandas.DataFrame ([data],[index])   根据行建立数据 3. pandas.DataFrame ({dic})  ...

  9. python基础3 字符串常用方法

    一. 基础数据类型 总览 int:用于计算,计数,运算等. 1,2,3,100...... str:'这些内容[]'    用户少量数据的存储,便于操作. bool: True, False,两种状态 ...

随机推荐

  1. linux系统批量修改root密码

    #!/bin/bash ip_list=(192.168.36.12 192.168.36.13) remote_cmd="echo new-passwd | passwd --stdin ...

  2. A Magic Lamp HDU - 3183 (逆向贪心/RMQ)

    Kiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lamp is not so ...

  3. linux 系统下 zip 的加密压缩与解压缩命令

    1.加密压缩 [small@sun shine]# zip -rP king java.zip java adding: java/ (stored 0%) adding: java/default/ ...

  4. Android使用SDKManager下载SDK速度慢 容易丢包和异常的解决办法

    第一步, SDK Manager启动之后,会先解析一些google的xml文件,会在Log里面打印出一些日志信息. 解析完之后,把日志全部拷贝到一个记事本里(这一步是因为日志窗口不支持查找),在里面查 ...

  5. Eating Plan

    Eating Plan 2019南昌G 模数为合数,所以只有约3000个数字不为0 记录一下不为0的数字位置 H[x]代表距离为x的连续段的数字和的最大值 处理出H[x] 再H[x] = max(H[ ...

  6. Zookeeper选举机制(转)

    源:http://blog.csdn.net/tototuzuoquan/article/details/54426684 1.Zookeeper选举机制 Zookeeper虽然在配置文件中并没有指定 ...

  7. sqli-labs(26a)

    0x01偷偷看一波源码 和26关一样 闭合变成了’)而已 0X01构造语句爆库名 这是百度到的 第一个 ' 首先闭合id='$id' 中的',%a0是空格的意思,(ps:此处我的环境是ubuntu14 ...

  8. html初体验#2

    碎碎念 关于布局 css布局:横向.纵向 2019年新进展:css grid git bash 上安装 http server 目的在于不使用 file:// 打开自己写的文件,使用 http:// ...

  9. Nodejs搭建音视频通信-信令服务器 总结

    1.安装nodejs  node-v10.16.3-x64.msi 2.安装配置环境变量 这里的环境配置主要配置的是npm安装的全局模块所在的路径,以及缓存cache的路径,之所以要配置,是因为以后在 ...

  10. ZXing使用详解与范例(C#)

    介绍 ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口.Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码.(引自百度百科) 用 ...