2018.03.26 Python-Pandas 字符串常用方法
- 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 字符串常用方法的更多相关文章
- 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 ...
- 2018/4/26 python文件处理方式
目录 2018/4/26总结 1. 如果有一天群内问题总结: 问题:python2和python3的默认编码是什么? 2. python学习总结: python的处理文件方式 2018/4/26总结 ...
- python pandas字符串函数详解(转)
pandas字符串函数详解(转)——原文连接见文章末尾 在使用pandas框架的DataFrame的过程中,如果需要处理一些字符串的特性,例如判断某列是否包含一些关键字,某列的字符长度是否小于3等等 ...
- Python入门-字符串常用方法
Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可. var1 = 'Hello Worl ...
- Python中字符串常用方法
capitalize() String.capitalize() 将字符串首字母变为大写 name = 'xiaoming' new_name = name.capitalize() print(ne ...
- python基础---字符串常用方法汇总
s3 = '123's2 = ' 's1 = 'This Is \t Cash's='abcdefghijklmnopqrstuvwxyz's4 = "0000000this is stri ...
- 2018/03/26 每日一个Linux命令 之 du
昨天使用 df 查看了磁盘空间中所有的容量. 今天学习 du 查看目录或者文件的大小. du会显示指定的目录或文件所占用的磁盘空间. -- du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合 ...
- Python 基础教程 —— Pandas 库常用方法实例说明
目录 1. 常用方法 pandas.Series 2. pandas.DataFrame ([data],[index]) 根据行建立数据 3. pandas.DataFrame ({dic}) ...
- python基础3 字符串常用方法
一. 基础数据类型 总览 int:用于计算,计数,运算等. 1,2,3,100...... str:'这些内容[]' 用户少量数据的存储,便于操作. bool: True, False,两种状态 ...
随机推荐
- iconv - 字符集转换
总览 (SYNOPSIS) iconv [-f encoding] [-t encoding] [inputfile ...] 描述 (DESCRIPTION) iconv 程序 把 文本 从 一种 ...
- cacti监控
cacti监控 cacti简介 Cacti是一套基于php,mysql,snmp及rrdtool开发的网络流量监测图形分析工具.它通过snmpget获取数据,使用rrdtool绘画图形 Cacti轮询 ...
- 002-Saltstack自动化操作记录(2)-配置使用
之前梳理了就是第一篇001,下面说说saltstack配置及模块使用: 为了试验效果,再追加一台被控制端minion机器192.168.1.118需要在master控制端机器上做好主机名映射关系 1 ...
- mysql5.7.26做主主配置
一.首先两台服务器安装好mysql数据库环境 参照linux rpm方式安装mysql5.1 https://www.cnblogs.com/sky-cheng/p/10564604.html 二.在 ...
- 使用IL DASM来查看接口内的自动属性
在我的本地地址中 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64下有一个文件 ildas ...
- 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( ...
- ztree多种数据包装以及相关设置
首先来一个完整的ztree代码 html代码 <form id="addTreeDataFrm" method="post" class="fo ...
- 2018 ACM-ICPC 区域赛(青岛站)题解整理
题目链接 C - Flippy Sequence(组合数学+分类讨论) 两区间异或一下,分段考虑,如果全为0则任选两相同区间,答案为$C_{n+1}^{2}=\frac{n(n+1)}{2}$,只有一 ...
- python修炼之路---面向对象
面向对象编程 面向对象编程:使用类和对象实现一类功能. 类与对象 类:类就是一个模板,模板里可以包含多个函数,函数里实现一些功能. 对象:是根据模板创建的实例,通过实例对象可以执行类中的函数. 面向对 ...
- 解决input 中placeholder的那些神坑
**昨天后台小哥哥提到placehold无法显示问题,我这边总结一下,顺便写个小文章分享给大家..** ============================================== 一 ...