sql或者excel类似的数据
有序或无序的时间序列序列数据
带行或标签的矩阵数据
其它其它数据,统计数据,观测数据等
强大,灵活,大小可变,处理浮点与非浮点数据的缺失数据,表示为NaN…
第三方库安装
pip install pandas
在读写excel时还需要xlrd和xlwt
pip install xlrd
pip install xlwt
类似于python的列表
它是由数据,以及数据所对应的索引组成
series中可以存储 整数,浮点数, 字符串,python对象等多中数据类型l.
Series对象:
panads.Series(data,index=index)
举例:
修改默认索引
import pandas as pd
data = ['张三', '李四', '王五']
# index=[1, 2, 3] 默认索引从0开始 ,这里手动修改索引从1开始
s = pd.Series(data=data, index=[1, 2, 3])
print(s)
print("数据类型:", type(s))
手动添加索引:
import pandas as pd
data2 = [90, 99, 88]
index = ["张三", "王五", "李四"]
s = pd.Series(data=data2, index=index)
print(s)
位置索引-索引范围[0,N-1]
标签索引[索引名称]-获取多个标签索引使用[[标签索引1,标签索引2,…]]
切片索引 [start:stop:step]
获取Series的索引和值
————获取索引 s.index
————获取值 是s.values
import pandas as pd
data2 = [90, 99, 88]
index = ["张三", "王五", "李四"]
s = pd.Series(data=data2, index=index)
# 通过下标索引获取
print(s[0])
# 通过index 名称获取
print(s["张三"])
# 获取多个
print(s[["张三", "王五"]])
# 标签索引
print(s['张三':'李四'])
# 获取列表
print(s.index)
# 索引列表
print(list(s.index))
print(s.values)
Dataframe对象是Pandas库中的一种数据结构,类似于二维表,
由行和列组成
和Series一样支持多种数据类型
创建DataFrame对象
——pd.DataFrame(data,index,colums,dtype)
import pandas as pd
data = [["lan lan", "bless", 520], ["牛啊", "no", 500], ["滑稽", "run", 480]]
columns = ['名称', '单价', '数量']
df = pd.DataFrame(data=data, columns=columns)
print(df)
print(type(df))
import pandas as pd
data = {
"名称": ['lan lan', '牛啊', '滑稽'],
"单价": [320.9, 150.3, 1.5],
"数量": [100, 50, 200]
}
df = pd.DataFrame(data=data)
print(df)
以上两个效果都一样,结果为:
名称 单价 数量
0 lan lan 320.9 100
1 牛啊 150.3 50
2 滑稽 1.5 200
然后我们把data改为
data = {
"名称": ['lan lan', '牛啊', '滑稽'],
"单价": [320.9, 150.3, 1.5],
"数量": [100, 50, 200],
"公司": "1123公司"
}
运行结果为:
名称 单价 数量 公司
0 lan lan 320.9 100 1123公司
1 牛啊 150.3 50 1123公司
2 滑稽 1.5 200 1123公司
序号 | 属性 | 描述 |
---|---|---|
1 | values | 查看所有元素的值 |
2 | dtypes | 查看所有元素的类型 |
3 | index | 查看所有行名,重命名行名 |
4 | columns | 查看所有列名,重命名列名 |
5 | T | 行列数据转换 |
6 | head | 查看前N条数据,默认五条 |
7 | tail | 查看后N条数据,默认五条 |
8 | shape | 查看行数和列数shape[0]表示行,shape[1]表示列 |
9 | info | 查看索引,数据类型和内存信息 |
例子:
import pandas as pd
data = [["lan lan", "bless", 520], ["牛啊", "no", 500], ["滑稽", "run", 480]]
columns = ['名称', '单价', '数量']
df = pd.DataFrame(data=data, columns=columns)
print("查看所有元素的值:\n", df.values)
print("查看所有元素的类型:\n", df.dtypes)
print("查看所有的行名称:\n", list(df.index))
df.index = [1, 2, 3]
print("查看所有的行名称:\n", list(df.index))
print("查看列索引:\n", list(df.columns))
行列数据的转换
import pandas as pd
data = [["lan lan", "bless", 520], ["牛啊", "no", 500], ["滑稽", "run", 480]]
columns = ['名称', '单价', '数量']
df = pd.DataFrame(data=data, columns=columns)
# 规整格式
pd.set_option("display.unicode.east_asian_width",True)
new_df = df.T
print("查看前N条数据\n", df.head(1))
print("查看后N条数据\n", df.tail(1))
print("行", df.shape[0], "列", df.shape[1])
print("查看索引,数据类型,内存信息", df.info)
函数 | 描述 |
---|---|
describe() | 查看每列的统计汇总信息,DataFrame类似 |
count() | 返回每一列的非空值的个数 |
sum() | 返回每一列的和,无法计算返回空值 |
max() | 返回每一列的最大最大值 |
min() | 返回每一列的最小值 |
举例:
import pandas as pd
data = [["lan lan", "bless", 520], ["牛啊", "no", 500], ["滑稽", "run", 480]]
columns = ['名称', '单价', '数量']
df = pd.DataFrame(data=data, columns=columns)
print(df.describe())
print(df.count())
print(df.sum())
print(df.max())
print(df.min())