Pandas
文章平均质量分 53
starter_zheng
这个作者很懒,什么都没留下…
展开
-
Pandas —— groupby( )聚合分组
groupbyimport pandas as pddf = pd.DataFrame({'key1':list('aabba'), 'key2': ['one','two','one','two','one'], 'data1': np.random.randn(5...原创 2018-01-30 10:39:21 · 1848 阅读 · 0 评论 -
Pandas —— set_index( )将DataFrame的列转换为行索引
In [42]: frame=pd.DataFrame({'a':range(7),'b':range(7,0,-1), ...: 'c':['one','one','one','two','two','two','two'], ...: 'd':[0,1,2,0,1,2,3]})In [43]: frameOut[43]: a b c d0 0 7 ...转载 2018-01-28 10:26:36 · 10403 阅读 · 0 评论 -
Pandas —— get_dummies( )和 factorize( )的区别
Pandas.get_dummies( )当频繁出现的几个独立变量时,可以使用pandas.get_dummies( )将定性变量转换为 Dummy 变量1、传入Series>>> pd.get_dummies(pd.Series(list('abcaa'))) a b c0 1 0 01 0 1 02 0 0 13 1 0...原创 2018-02-14 21:34:40 · 6004 阅读 · 0 评论 -
Pandas —— qcut( )与cut( )的区别
qcut是根据这些值的频率来选择箱子的均匀间隔。pd.qcut(factors, 5).value_counts()[-2.578, -0.829] 6(-0.829, -0.36] 6(-0.36, 0.366] 6(0.366, 0.868] 6(0.868, 2.617] 6cut将根据值本身来选择箱子均匀间隔。 pd.cu...原创 2018-02-15 12:43:04 · 25615 阅读 · 1 评论 -
Pandas —— 日期范围date_range()、移动数据shift()及日期位移rollforward()和rollback()
日期范围date_range()生成日期范围1、传入开始和结束时间index = pd.date_range('4/1/2012', '6/1/2012') #默认按天计算indexDatetimeIndex(['2012-05-13', '2012-05-14', '2012-05-15', '2012-05-16', '2012-05-17',...原创 2018-08-03 16:41:48 · 10026 阅读 · 0 评论 -
Pandas —— 移动窗口函数
移动窗口概念引入为了提升数据的准确性,将某个点的取值扩大到包含这个点的一段区间,用区间来进行判断,这个区间就是窗口。移动窗口就是窗口向一端滑行,默认是从右往左,每次滑行并不是区间整块的滑行,而是一个单位一个单位的滑行。举例:import pandas as pds = [1,2,3,5,6,10,12,14,12,30]pd.Series(s).rolling(window=3)....原创 2018-08-05 11:16:20 · 9127 阅读 · 0 评论 -
Pandas —— 时区处理tz_localize()、tz_convert()
rng = pd.date_range('3/9/2012 9:30', periods=6, freq='D')ts = pd.Series(np.random.randn(len(rng)), index=rng)ts2012-03-09 09:30:00 0.0700522012-03-10 09:30:00 0.7214492012-03-11 09:30:00 ...原创 2018-08-05 15:30:51 · 9819 阅读 · 0 评论 -
Pandas —— Timestamp、Period、Timedelta、datetime时间对象
一、时间戳Timestamp表示时间轴上的一个时刻。它提供了方便的时区转换功能。调用Timestamp()创建任意时间点:In [98]: pd.Timestamp('2018-08-1 08:02:35')Out[98]: Timestamp('2018-08-01 08:02:35')调用.tz_localize()转换为指定时区的当前时间In [99]: pd.T...原创 2018-08-05 16:22:36 · 3974 阅读 · 0 评论 -
Pandas —— Periods(周期)的创建、运算及转换
1、Periods(周期)的创建和运算In [107]: p=pd.Period('2007')Out[107]: Period('2007', 'A-DEC')In [108]: p+2Out[108]: Period('2009', 'A-DEC')In [109]: p-pd.Period('2001')Out[109]: 6L2、Periods(周期)频度的转换...原创 2018-08-05 17:07:30 · 4156 阅读 · 0 评论 -
Pandas —— resample()重采样和asfreq()频度转换
resample()resample()进行重采样。重采样(Resampling)指的是把时间序列的频度变为另一个频度的过程。把高频度的数据变为低频度叫做降采样(downsampling),把低频度变为高频度叫做增采样(upsampling)。降采样考虑因素:各区间哪边是闭合的(参数:closed)如何标记各聚合面元,用区间的开头还是末尾(参数:label)In [...原创 2018-08-06 00:20:32 · 24225 阅读 · 5 评论 -
Pandas —— apply()、applymap()、agg()、transform()
In [42]: df = pd.DataFrame({'data1': np.random.randn(5), ...: 'data2': np.random.randn(5)})In [43]: dfOut[43]: data1 data20 -2.332263 0.4778121 -0.715245 0.29452...转载 2018-08-02 18:57:59 · 3526 阅读 · 0 评论 -
Pandas —— 透视表pivot_table()和交叉表crosstab()
透视表pivot_table()透视表pivot_table()是一种进行分组统计的函数,参数aggfunc决定统计类型。 1、假设我想要根据sex和smoker计算分组平均数(pivot_table的默认聚合类型),并将sex和smoker放到行上:(因为day无法计算平均数,所以自动去除)# 方法一:使用groupbytips.groupby(['sex', 'smoker']...转载 2018-08-02 22:33:46 · 8774 阅读 · 1 评论 -
Pandas —— 时间序列TimeSeries或TimeDataFrame的索引
时间序列TimeSeries的索引In [48]: tsOut[48]:2011-01-02 0.7114052011-01-05 -1.6751752011-01-07 1.104304dtype: float64通过标签进行索引In [50]: ts[1]Out[50]: -1.6751745478946134通过字符串进行索引In [51]: ...原创 2018-08-03 12:24:05 · 2857 阅读 · 0 评论 -
Pandas —— Series的创建、修改、访问、删除及合并
关于DataFrame的详解:http://blog.csdn.net/starter_____/article/details/79179562Series的创建Series是一种类似于一维数组的对象,它由一组数据(value)及一组与之相关的数据标签(index)组成。传递list对象创建Series若不指定索引,则会自动创建一个0到N-1(N为数组长度)的整数...原创 2018-01-27 12:01:20 · 17932 阅读 · 0 评论 -
Pandas —— DataFrame的创建、修改、访问、删除及转置
关于Series的详解:http://blog.csdn.net/starter_____/article/details/79179417创建DataFrameDataFrame是一个二维的表结构,它含有一组有序的列。DataFrame既有行索引又有列索引,它可以被看做由Series组成的字典。传递Dict对象创建DataFrame若不指定行索引,则会自动创建一个...原创 2018-01-27 17:07:02 · 8926 阅读 · 0 评论 -
Pandas —— 使用Pandas进行绘图
对于Seriesindex索引用于绘制X轴import numpy as npimport pandas as pdimport matplotlib.pyplot as plts=pd.Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))s.plot()plt.show()对于DataFra...原创 2018-01-30 10:14:11 · 4691 阅读 · 0 评论 -
Pandas —— combine_first( )合并重叠数据
先创建两组数据a和bIn [62]: a=pd.Series([np.nan,2.5,np.nan,3.5,4.5,np.nan],index=['f','e','d','c','b','a'])In [63]: b=pd.Series([1,np.nan,3,4,5,np.nan],index=['f','e','d','c','b','a'])In [64]: aOut[64...原创 2018-01-29 18:25:09 · 8866 阅读 · 0 评论 -
Pandas —— concat( )连接
concat( )连接默认情况下concat是在axis=0上工作的,最终产生一个新的SeriesIn [29]: s1=pd.Series([0,1],index=['a','b'])In [34]: s2=pd.Series([2,3,4],index=['a','b','c'])In [35]: s1Out[35]:a 0b 1dtype: in...转载 2018-01-29 18:07:24 · 936 阅读 · 0 评论 -
Pandas —— merge( )合并
多对一的合并操作on参数指明连接键In [5]: df1=pd.DataFrame({'key':['b','b','a','a','b','a','c'],'data1':range(7)})In [6]: df2=pd.DataFrame({'key':['a','b','d'],'data2':range(3)})In [7]: df1Out[7]: da...原创 2018-01-29 17:57:07 · 28020 阅读 · 3 评论 -
Pandas —— 读写数据
读写文本格式的数据读取数据 函数 说明 read_csv 从文件,URL,文件型对象中加载带分隔符的数据。默认分隔符为, read_table 从文件,URL,文件型对象中加载带分隔符的数据。默认分隔符为\t read_fwf 读取定宽列格式数据(也就是说,没有分隔符) read_clipboard 读取剪贴板的数据 ...转载 2018-01-28 23:00:34 · 1021 阅读 · 0 评论 -
Pandas —— 广播
广播匹配列并在行上进行广播In [75]: frame=pd.DataFrame(np.arange(12).reshape((3,4)),columns=['a','b','c'],index=['A','B','C','D'])In [78]: series=frame.loc['A']In [79]: frameOut[79]: a b cA 0 1 ...转载 2018-01-28 11:08:36 · 1541 阅读 · 0 评论 -
Pandas —— loc( )和iloc( )
关于DataFrame的详解:http://blog.csdn.net/starter_____/article/details/79179562关于Series的详解:http://blog.csdn.net/starter_____/article/details/79179417Series的数据查看创建In [63]: people={'name':...原创 2018-01-28 10:45:30 · 619 阅读 · 0 评论 -
Pandas —— 层次化索引
创建一个Seires,并用一个由列表或数组组成的列表作为索引In [29]: data=pd.Series(np.random.randn(8),index=[['a','a','a','b','b','b','c','c'],[1,2,3,1,2,3,1,2]])In [30]: dataOut[30]:a 1 -0.506962 2 0.795603 3...转载 2018-01-28 10:07:46 · 738 阅读 · 0 评论 -
Pandas —— 处理缺失数据dropna( )和fillna( )
dropna( )对于Serial对象丢弃带有NAN的所有项In [152]: data=pd.Series([1,np.nan,5,np.nan])In [153]: dataOut[153]:0 1.01 NaN2 5.03 NaNdtype: float64In [154]: data.dropna()Out[154]:0 ...原创 2018-01-28 08:49:50 · 26008 阅读 · 0 评论 -
Pandas —— 唯一值unique( ),计数值value_counts( )及成员资格isin( )
唯一值In [141]: obj=pd.Series(['c','a','d','a','a','b','b','c','c','c'])In [142]: obj.unique()Out[142]: array(['c', 'a', 'd', 'b'], dtype=object)计数值In [143]: obj.value_counts()Out[143]:c...转载 2018-01-27 23:30:25 · 117528 阅读 · 0 评论 -
Pandas —— 重新索引reindex( )
重新索引对Series的索引进行重新索引In [64]: import pandas as pdIn [65]: obj=pd.Series([4.5,7.2,-5.3,3.6],index=['d','b','a','c'])In [66]: objOut[66]:d 4.5b 7.2a -5.3c 3.6dtype: float64In...原创 2018-01-27 22:54:13 · 2653 阅读 · 0 评论 -
Pandas —— sort_value( )、sort_index( )排序
排序按索引对DataFrame或Series进行排序In [101]: frame=pd.DataFrame(np.arange(12).reshape((4,3)),columns=['c','a','b'],index=['D','B','C','A'])In [102]: frame.sort_index(axis=0)Out[102]: c a bA ...原创 2018-01-27 22:15:21 · 47104 阅读 · 0 评论 -
Pandas —— rank( )函数进行排名
rank( )rank函数返回从小到大排序的下标1、默认情况下,rank是通过“为各组分配一个平均排名”的方式破坏平级关系的In [120]:obj = pd.Series([7,-5,7,4,2,0,4])In [121]:obj.rank()Out [121]:0 6.51 1.02 6.53 4.54 3.05 2.06 ...转载 2018-01-27 21:55:02 · 60246 阅读 · 6 评论 -
Pandas —— cum累积计算和rolling滚动计算
Pandas主要统计特征函数: 方法名 函数功能 sum() 计算数据样本的总和(按列计算) mean() 计算数据样本的算术平均数 var() 计算数据样本的方差 std() 计算数据样本的标准差 corr() 计算数据样本的Spearman(Pearman)相关系数矩阵 cov() 计算数据样本的协方差矩...原创 2018-08-08 23:21:57 · 37438 阅读 · 0 评论