本文共 2297 字,大约阅读时间需要 7 分钟。
2008年WesMcKinney开发出的库;专门用于数据挖掘的开源python库;以Numpy为基础,借力Numpy模块在计算方面性能高的优势;基于matplotlib,能够简便的画图;独特的数据结构。
一维结构:Series
二维结构:Dataframe 多维结构:MultiIndex、panelpd.Series()
属性 | 说明 |
---|---|
series.index | 返回索引数组 |
series.values | 返回值数组 |
series.items |
pd.DataFrame()
属性 | 说明 |
---|---|
shape | 返回形状 |
index | 返回行索引列表 |
columns | 返回列索引列表 |
values | 返回array的值 |
T | 转置 |
head() | 前N行 |
tail() | 后N行 |
dataframe.index=
:修改索引
dataframe.reset_index(drop=False)
:重设索引 dataframe.set_index(keys,drop=True)
:设置某列为新的索引 三维的数据类型;多级索引(也称层次化索引)是pandas的重要功能,可以在Series、DataFrame对象上拥有2个以及2个以上的索引。
pd.MultiIndex.from_arrays(arrays)
:创建多索引 pd.Panel(data=None, items=None, major_axis=None, minor_axis=None)
操作支持‘切片’操作
data[colum_name][row_name]
:使用列、行值索引,先列后行 data.loc(colum_name,row_name)
:使用列、行值索引,先列后行(同上) data.iloc(colum_index,row_index)
:使用列、行下标索引,先列后行 dataframe.sort_values(by=,ascending=)
:指定列名排序
dataframe.sort_index()
:索引排序 函数 | 例子 |
---|---|
add(value) | data[‘open’].add(1) |
sub{value | data[‘open’].sub(1) |
query(expr) | data.query(“open<24 & open>23”) |
isin(values) | data[data[“open”].isin([23.53, 23.85])] |
describe() | 返回count, mean, std, min, max 等 |
apply(func,axis=) | 自定义运算 |
data[['open', 'close']].apply(lambda x: x.max() - x.min(), axis=0)open 22.74close 22.85dtype: float64
函数 | 作用 |
---|---|
cumsum | 计算前n个数的和 |
cummax | 计算前n个数的最大值 |
cummin | 计算前n个数的最小值 |
cumpod | 计算前n个数的积 |
DataFrame.plot(kind='line')
kind | 说明 |
---|---|
line | 折线 |
bar | 柱状 |
barh | 横线柱状 |
hist | 直方图 |
pie | 饼状图 |
scatter | 散点图 |
pandas.read_csv(filepath_or_buffer, sep =',', usecols )
:读取
DataFrame.to_csv(path_or_buf=None, sep=', ’, columns=None, header=True, index=True, mode='w', encoding=None)
:保存 isnull:判断是否有缺失数据NaN
fillna:实现缺失值的填充 dropna:实现缺失值的删除 replace:实现数据的替换pd.qcut(data,q)
:分成q组,区间自适应
pd.cut(data,bins=)
:自定义组区间 DataFrame.groupby(key, as_index=False)
:分组的列数据,可以多个 pandas.get_dummies(data, prefix=None)
pd.concat([data1, data2], axis=1)
:按照行或列进行合并,axis=0为列索引,axis=1为行索引
pd.merge(left, right, how='inner', on=None)
:可以指定按照两组数据的共同键值对合并或者左右各自 交叉表:交叉表用于计算一列数据对于另外一列数据的分组个数(用于统计分组频率的特殊透视表)
pd.crosstab(value1, value2)
透视表:透视表是将原有的DataFrame的列分别作为行索引和列索引,然后对指定的列应用聚集函数 data.pivot_table()
DataFrame.pivot_table([], index=[])
转载地址:http://gbqmi.baihongyu.com/