Pandas数据分析
Pandas数据分析
导入文件-数据清理-统计分析-导出文件
pandas对象
series + DataFrame
pandas是python数据分析重要的库,而Series和DataFrame是pandas库中两个重要的对象和两个重要的数据结构。
*Series:*是带标签的一维同构数组;
*DataFrame:*是带标签的,大小可变的,二维异构表格。
1 |
|
Series对象
s = pd.Series(data,index=index)
创建Series对象时需要输入数据和索引;
数据可以是python字典、多维数组、数值等;
索引index可以自己定义,也可以采用默认的从0开始的索引。
1 |
|
DataFrame 对象
创建DataFrame表格df = pd.DataFrame(data=data, index=index, columns=columns, dtype=dtype)
data: 表示数据,可以是ndarray数组、Series对象、列表、字典等。
index: 行索引
columns:列标签
dtype: 每一列数据的数据类型。pandas数据类型与python本身数据类型有所差异。(见df2)
常规方法创建DataFrame
1
2
3
4
5
6
7
8
9# 定义数据集
data = [[2,2,3],[3,3,4],[4,4,5]]
# 定义行索引
index = ['ming','lili','ann']
# 定义列索引
columns = ['数学','语文','英语']
# 创建DataFrame表格
df = pd.DataFrame(data=data, index=index, columns=columns)
print(df)使用二维数组创建DataFrame
1
2
3
4data = [[110,120,120],[100,125,122],[111,122,133]]
columns = ['语文','数学','英语']
df1 = pd.DataFrame(data=data, columns=columns)
print(df1)使用字典创建DataFrame
1
2
3
4
5
6
7pd.set_option('display.unicode.east_asian_width', True)
df2 = pd.DataFrame(
{'Pandas dtype':['object','int64','float64','bool','datetime64','timedalta[ns]','category'],
'python type':['str','int','float','bool','datetime64[ns]','NA','NA']},
index=['字符串','整数','浮点数','布尔值','日期值','日期值','分类']
)
print(df2)遍历DataFrame
1
2
3for col in df.columns:
series = df[col]
print(series)
DataFrame重要属性
属性作用 | 属性名称 |
---|---|
查看所有元素的值 | df.values |
查看所有列的数据类型 | df.dtypes |
查看行名 | df.index |
对行名进行重命名 | df.index=[‘ming’,’li’,’an’] |
查看所有列名 | df.columns |
对列名进行重命名 | df.columns=[‘语’,’数’,’外’] |
行列数据转换 | df.T |
查看前n条数据(默认前5) | df.head() |
查看后n行数据(默认后5) | print(df.tail()) |
统计行数和列数(0代表行,1代表列) | df.shape[0] |
统计行数和列数(0代表行,1代表列) | df.shape[1] |
查看索引。数据类型和内存信息 | df.info() |
DataFrame重要函数
函数作用 | 函数名称 |
---|---|
查看每列的统计汇总信息 | df1.describe() |
返回每一列中的非空值的个数 | df1.count() |
返回每一列的和,无法计算则返回空值 | df.sum() |
返回每一列最大值 | df.max() |
返回每一列最小值 | df.min() |
返回最大值所在的自定义索引位置 | df1.idxmax() |
返回最小值所在的自定义索引位置 | df1.idxmin() |
返回每一列的平均值 | df1.mean() |
返回每一列的中位数 | df.median() |
返回每一列的方差 | df.var() |
返回每一列的标准差 | df.std() |
检查表格是否存在空值 | df.isnull() # True为空值 |
检查表格是否存在空值 | df.notnull() # True为非空值 |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!