pandas
Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。Pandas 广泛应用在学术、金融、统计学等各个数据分析领域.
Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据)
Series
创建
# coding:utf-8
import pandas as pd
t = pd.Series([1, 2, 3, 4, 6], index=list("abcde"))
print(t)
temp_dict = {"name": "peter", "age": 24, "tel": 110}
t1 = pd.Series(temp_dict)
print(t1)
结果
读取
csv文件直接使用pd.ead_csv,sql文件pd.read_ sql(sql sentence,connection)
Dataframe
创建
# coding:utf-8
import numpy as np
import pandas as pd
t = pd.DataFrame(np.arange(12).reshape(3, 4))
print(t)
t1 = pd.DataFrame(np.arange(12).reshape(3, 4),index=list("abc"),columns=list("defj"))
print(t1)
d1 = {"name":["peter","jack"],"age":[24,25],"tel":[110,120]}
print(pd.DataFrame(d1))
结果
DataFrame对象既有行索引,又有列索引
行索引,表明不同行,横向索引,叫index, 0轴,axis=0
列索引,表名不同列,纵向索引,叫columns, 1轴,axis=1
取行或者列
df.loc通过标签取行列
df.iloc通过位置取行列
缺失数据处理
判断数据是否为NaN: pd.isnull(df),pd.notnull(df)
处理方式1:删除NaN所在的行列dropna (axis=0, how='any', inplace=False)
处理方式2:填充数据,t.fillna(t.mean()t.fiallna(t.median()t.fillna(0)
处理为0的数据: t[t==0]=np.nan
当然并不是每次为0的数据都需要处理
计算平均值等情况,nan是不参与计算的,但是0会