pandas中关于accessor的骚操作

摘要:
来自:Python那些事pandas中accessor功能很强大,可以将它理解为一种属性接口,通过它获得额外的方法。

来自:Python那些事

pandas中accessor功能很强大,可以将它理解为一种属性接口,通过它获得额外的方法。

下面用代码和实例理解一下:

importpandas as pd
pd.Series._accessors

pandas中关于accessor的骚操作第1张

对于Series数据结构使用_accessors方法,我们得到3个对象:cat, str, dt

  • .cat:用于分类数据(Categorical data)
  • .str:用于字符数据(String Object data)
  • .dt:用于时间数据(datetime-like data)

1.str对象的使用

Series数据类型:str字符串

addr =pd.Series([     
    'Washington, D.C. 20003',
    'Brooklyn, NY 11211-1755',
    'Omaha, NE 68154',
    'Pittsburgh, PA 15211']) 
print(addr)

pandas中关于accessor的骚操作第2张

addr.str.upper()

pandas中关于accessor的骚操作第3张

addr.str.count(r'd')     #d表示匹配任意数字

pandas中关于accessor的骚操作第4张

关于str对象的2个方法说明:

  • Series.str.upper: 将Series中所有字符串变为大写;
  • Series.str.count: 对Series中所有字符串的个数进行计数;

除了以上用法外,常用的属性和方法还有.rstrip,.contains,split等,我们通过下面代码查看一下str属性的完整列表:

[i for i in dir(pd.Series.str) if not i.startswith('_')]

pandas中关于accessor的骚操作第5张

2.dt对象的使用

Series数据类型:datetime

因为数据需要datetime类型,所以下面使用pandas的date_range()生成了一组日期datetime演示如何进行dt对象操作。

daterng = pd.Series(pd.date_range('2017', periods=9, freq='Q'))
print(daterng)

pandas中关于accessor的骚操作第6张

Series.dt.weekday:从日期判断所处星期数;

time_ser =pd.to_datetime(daterng)
for i intime_ser:
    print(i.weekday())
或
print(daterng[daterng.dt.weekday])

pandas中关于accessor的骚操作第7张

注意:前面是星期数

Series.dt.quarter:从日期判断所处季节;

print(daterng[daterng.dt.quarter > 2])

pandas中关于accessor的骚操作第8张

Series.dt.is_year_end:从日期判断是否处在年底;

print(daterng[daterng.dt.is_year_end])

pandas中关于accessor的骚操作第9张

免责声明:文章转载自《pandas中关于accessor的骚操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇OSX:设置用户默认浏览器硬盘接口详细解释下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Pandas之Series+DataFrame

Series是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,python对象) index查看series索引,values查看series值 series相比于ndarray,是一个自带索引index的数组--> 一维数组 + 对应索引 series和dict相比,series更像是一个有顺序的字典 创建方法 1.由字典创建,字典...

分位函数(四分位数)概念与pandas中的quantile函数

p分位函数(四分位数)概念与pandas中的quantile函数 函数原型 DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation=’linear’) 参数 - q : float or array-like, default 0.5 (50% quantile 即中位数-第2...

Python数据分析(三)pandas resample 重采样

下方是pandas中resample方法的定义,帮助文档http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling中有更加详细的解释。 def resample(self, rule, how=None, axis=0, fill_method=None, closed=N...

Pandas日期数据处理:如何按日期筛选、显示及统计数据

对于我们宽客相对重要一些,在本地实现回测和交易的宽客,需要自己清洗数据。 而证券行情数据是时间序列数据,和时间索引又分不开,下面这篇文章,帮助我们更好的使用pandas处理和日期时间相关的数据。 该文引自:http://www.mamicode.com/info-detail-1822406.html ---------------------------...

DataFrame和python中数据结构互相转换

楔子 有时候DataFrame,我们不一定要保存成文件、或者入数据库,而是希望保存成其它的格式,比如字典、列表、json等等。当然,读取DataFrame也不一定非要从文件、或者数据库,根据现有的数据生成DataFrame也是可以的,那么该怎么做呢?我们来看一下 DataFrame转成python中的数据格式 转成json DataFrame转成json,...

Pandas系列(十一)-文件IO操作

数据分析过程中经常需要进行读写操作,Pandas实现了很多 IO 操作的API,这里简单做了一个列举。 格式类型 数据描述 Reader Writer text CSV read_ csv to_csv text JSON read_json to_json text HTML read_html to_html text clipb...