pandas常用函数

1.shift 把数据往指定方向移动指定的位数

shift(periods=1,axis=0)

periods:移动的幅度,默认1

axis:移动方向,0/‘index’,跨行,上下


2.diff函数是用来将数据进行某种移动之后与原数据进行比较得出的差异数据.

首先会执行:

df.shift()

然后再将该数据与原数据做差,即:

df-df.shift()

diff(periods=1,axis=0)

periods:移动的幅度,默认1

axis:移动方向,0/‘index’,跨行,上下,

1/‘columns’:跨列,左右

index value1

A 0

B  1

C  2

D  3

df.diff()

index  value1

A NaN

B  1

C 1

D  1

3。pct_change函数表示当前元素与先前元素的相差百分比,当然指定periods=n,表示当前元素与先前n 个元素的相差百分比DataFrame.pct_change(periods=1, fill_method=‘pad’, limit=None, freq=None, **kwargs)

s = pd.Series([90, 91, 85])

s.pct_change(periods=2)#表示当前元素与先前两个元素百分比

0 NaN

1        NaN

2  -0.055556

dtype: float64

就是(85-90)/90 

4.pd.append():竖方向合并df,没有axis属性

>>> df1

    D    C    B    A

4 1.0 1.0 1.0 1.0

3 1.0 1.0 1.0 1.0

2 1.0 1.0 1.0 1.0

1 1.0 1.0 1.0 1.0

>>> df2

    F    E    D    C

6 2.0 2.0 2.0 2.0

5 2.0 2.0 2.0 2.0

4 2.0 2.0 2.0 2.0

3 2.0 2.0 2.0 2.0

>>> df1.append(df2) # 相当于pd.concat([df1, df2])

    A    B    C    D    E    F

4 1.0 1.0 1.0 1.0 NaN  NaN

3 1.0 1.0 1.0 1.0 NaN  NaN

2 1.0 1.0 1.0 1.0 NaN  NaN

1 1.0 1.0 1.0 1.0 NaN  NaN

6 NaN  NaN 2.0 2.0 2.0 2.0

5 NaN  NaN 2.0 2.0 2.0 2.0

4 NaN  NaN 2.0 2.0 2.0 2.0

3 NaN  NaN 2.0 2.0 2.0 2.0

5.str.split('',expand=True)

expand=True,将返回一个dataframe类型

6.df.drop()

当你要删除某一行或者某一列时,用drop函数,它不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据。

删除行:df.drop('apps')

删除列:df.dorp('col', axis=1),删除列要加axis=1,默认是删除行的

若要删除多个字段,列表中。

7.pandas.to_datetime(arg, errors='raise',  unit=None,)

arg:需要被转换为datetime的数据

errors 转换不成功情况下,输出的情况。

'raise’返回Exception,’coerce’返回NaT,’ignore’返回原内容

unit   输入数据arg的单位

7.1转换成时间戳(timestamp)类型

pd.to_datetime("2020-6-3")

可得到年,月,季度,日,当前为周几,一周的编号(0-6),一年中的第几周,一年中的第几天,当前月共几天。

也能进行判断是否为闰年,是否是月末,月初,当季度初,当季度末,年初,年末

7.2转化成时间序列类型(DatetimeIndex)

pd.to_datetime(["2020-6-3","2020-6-6"])

from datetime import datetime

pd.to_datetime([datetime(2018,3,1), datetime(2018,3,2)])

pd.to_DatetimeIndex()

列表/dtype: datetime的series

8.pandas.date_range(

start=None, end=None, periods=None, freq='D', tz=None, normalize=False, name=None, closed=None, **kwargs)

生成指定频率的时间序列

start:开始时间

end:结束时间

periods:产生多长的序列

freq:频率 D,H,Q等

tz:时区


按照每个月的第几个星期几

pd.date_range("2017-01-02","2017-12-30", freq='WOM-3FRI')

9、

#显示所有列

pd.set_option('display.max_columns', None)

#显示所有行

pd.set_option('display.max_rows', None)

#设置value的显示长度为100,默认为50

pd.set_option('max_colwidth',100)

10、unique()与nunique()

unique 数组形式(numpy.ndarray)返回列的所有唯一值(特征的所有唯一值)

nuique() 返回的是唯一值的个数

你可能感兴趣的:(pandas常用函数)