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

结果:

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

结果:

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

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

结果:

  1. 0 A
  2. 1 b
  3. 2 C
  4. 3 bbhello
  5. 4 123
  6. 5 NaN
  7. 6 hj
  8. dtype: object
  9. -----
  10. 0 A
  11. 1 b
  12. 2 C
  13. 3 b
  14. 4 1
  15. 5 NaN
  16. 6 h
  17. dtype: object
  18. 0 A
  19. 1 b
  20. 2 C
  21. 3 bb
  22. 4 12
  23. 5 NaN
  24. 6 hj
  25. dtype: object
  26. -----
  27. 0 h
  28. 1 f
  29. 2 w
  30. 3 h
  31. 4 1
  32. 5 NaN
  33. 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. iconv - 字符集转换

    总览 (SYNOPSIS) iconv [-f encoding] [-t encoding] [inputfile ...] 描述 (DESCRIPTION) iconv 程序 把 文本 从 一种 ...

  2. cacti监控

    cacti监控 cacti简介 Cacti是一套基于php,mysql,snmp及rrdtool开发的网络流量监测图形分析工具.它通过snmpget获取数据,使用rrdtool绘画图形 Cacti轮询 ...

  3. 002-Saltstack自动化操作记录(2)-配置使用

    之前梳理了就是第一篇001,下面说说saltstack配置及模块使用: 为了试验效果,再追加一台被控制端minion机器192.168.1.118需要在master控制端机器上做好主机名映射关系 1 ...

  4. mysql5.7.26做主主配置

    一.首先两台服务器安装好mysql数据库环境 参照linux rpm方式安装mysql5.1 https://www.cnblogs.com/sky-cheng/p/10564604.html 二.在 ...

  5. 使用IL DASM来查看接口内的自动属性

    在我的本地地址中 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64下有一个文件  ildas ...

  6. CF Round #424 Div.2 D

    n个人拿K个钥匙中的n个然后到办公室(点p) 问最少需要的时间是多少 先排序 如果j<=i 则必须拿这个钥匙 dp[i][j]=max(dp[i-1][j-1],abs(p-b[j])+abs( ...

  7. ztree多种数据包装以及相关设置

    首先来一个完整的ztree代码 html代码 <form id="addTreeDataFrm" method="post" class="fo ...

  8. 2018 ACM-ICPC 区域赛(青岛站)题解整理

    题目链接 C - Flippy Sequence(组合数学+分类讨论) 两区间异或一下,分段考虑,如果全为0则任选两相同区间,答案为$C_{n+1}^{2}=\frac{n(n+1)}{2}$,只有一 ...

  9. python修炼之路---面向对象

    面向对象编程 面向对象编程:使用类和对象实现一类功能. 类与对象 类:类就是一个模板,模板里可以包含多个函数,函数里实现一些功能. 对象:是根据模板创建的实例,通过实例对象可以执行类中的函数. 面向对 ...

  10. 解决input 中placeholder的那些神坑

    **昨天后台小哥哥提到placehold无法显示问题,我这边总结一下,顺便写个小文章分享给大家..** ============================================== 一 ...