Pandas:一个高性能的数据分析Python库
前言
Pandas是Python中一个非常强大的数据分析工具,它提供了丰富的数据处理和操作功能,可以快速高效地处理和转换数据。Pandas支持多种格式的数据输入和输出,包括CSV、Excel、JSON、SQL、HTML等,这大大增加了其在各种环境中的适用性。在我以往的工作经历中,主要用Pandas处理数据,统计分析结果,它可以像你操作Excel表格统计数据那样,用Pandas实现同样的功能,然后保存在excel里面。
在本文中,我们将初步学习pandas的基本用法,Serial,跟DataFrame的区别,基本的数据操作
安装
pip install pandas
快速入门
一.pandas Serial
Pandas Series是一种类似于一维数组的数据结构类似表格的一列(column)数据,可以保存任何数据,Series由索引,数据列组成
1.创建Series
>>> a = [1,2,3,4]
>>> ser = pd.Series(a)
>>> ser
0 1
1 2
2 3
3 4
dtype: int64
>>> ser[0] # 访问第一个元素
1
2.指定索引
>>> a = [1,2,3,4]
>>> ser = pd.Series(a,index=["a","b","c","d"])
>>> ser
a 1
b 2
c 3
d 4
dtype: int64
>>> ser['a']
1
3.字典创建series
字典key变成了索引
>>> dictData ={1:"a",2:"b",3:"c",4:"d"}
>>> ser = pd.Series(dictData)
>>> ser
1 a
2 b
3 c
4 d
dtype: object
二.Pandas DataFrame
Pandas DataFrame是一种二维的数据结构,它类似于一个表格。可以包含任何类型的数据
基本结构如下
pandas.DataFrame( data, index, columns, dtype, copy)
参数数据如下
data:一组数据(各种类型)
index :索引
columns :列名称,(可以不写)默认0,1,2....
dtype :数据类型(可以不写)
copy: 拷贝数据,默认False(可以不写)
- 创建带columns的DataFrame
>>> data = [["python",10],["java",9],["c++",8],["js",7]]
>>> df = pd.DataFrame(data,columns=["name","score"])
>>> df
name score
0 python 10
1 java 9
2 c++ 8
3 js 7
2.不带columns的DataFrame
>>> df2 = pd.DataFrame(data)
>>> df2
0 1
0 python 10
1 java 9
2 c++ 8
3 js
>>> data = [1,2,3,4,5,6]
>>> df3 = pd.DataFrame(data)
>>> df3
0
0 1
1 2
2 3
3 4
4 5
5 6
三.常用函数
1.最大值df.max()
>>> data = [["python",10],["java",9],["c++",8],["js",7]]
>>> df = pd.DataFrame(data,columns=["name","score"])
>>> df.max()
name python
score 10
dtype: object
>>>
2.最小值df.min()
>>> df.min()
name c++
score 7
dtype: object
3.平均值df.mean()
>>> df["score"].mean()
8.5
4.查看前面几行df.head(n)
这个函数看表格的表头很有用
>>> df.head(2)
name score
0 python 10
1 java 9
>>>
5.查看最后面几行df.tail(n)
>>> df.tail(2)
name score
2 c++ 8
3 js 7
>>>
6.显示基本的统计信息df.describe()
>>> df.describe()
score
count 4.000000
mean 8.500000
std 1.290994
min 7.000000
25% 7.750000
50% 8.500000
75% 9.250000
max 10.000000
>>>
7.获取行数跟列数df.shape()
>>> df.shape
(4, 2)
>>>
8.查看DataFrame基本信息 df.info
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4 entries, 0 to 3
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 name 4 non-null object
1 score 4 non-null int64
dtypes: int64(1), object(1)
memory usage: 192.0+ bytes
>>>
9.读取数据 pd.read_excel()
>>> ex = pd.read_excel(r"D:\code\test.xlsx")
>>> ex
1 a
0 2.0 b
1 3.0 c
2 4.0 d
3 NaN d
10.读取csv,txt都可以用df.read_csv()
>>> cv = pd.read_csv(r"D:\code\test.txt",sep=" ")
>>> cv
a 1
0 b 2
1 c 3
2 d 4
3 e 5
>>> csv = pd.read_csv(r"D:\code\test.csv",sep=",")
>>> csv
a 1
0 b 2
1 c 3
2 d 4
3 e 5
11.保存文件 df.to_excel()
>>> data = [["python",10],["java",9],["c++",8],["js",7]]
>>> df = pd.DataFrame(data,columns=["name","score"])
>>> df.to_excel(r"D:\code\testSave.xlsx")
12.保存到txt
>>> data = [["python",10],["java",9],["c++",8],["js",7]]
>>> df = pd.DataFrame(data,columns=["name","score"])
>>> df.to_csv(r"D:\code\savtTxt.txt")
总结
Pandas是一个强大的Python数据分析库,它提供了快速、灵活和富有表现力的数据结构,在工作中常用以下
- 读取excel数据进行统计分析,保存到表格
- 读取txt里面的数据,清洗过滤,统计分析,然后保存到表格
- 与Matplotlib结合使用把统计结果保存图片
以上只列举了很少的一部分功能,比如数据选择函数loc[]、iloc[]、at[]本文就没列举。
更多用法参考官方文档
https://pandas.pydata.org/