导入所需要的库
#导入文件所需库
import pandas as pd
import numpy as np
数据类型(Series以及DataFrame)
一:Series类型
pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
data:数据(列表/字典)
index:每一行的行名
colunms:列名(因为Series类型数据只有一列数据)
dtype:每个数据的类型
name:定义Series对象的名称
copy:是否复制数据。默认为 False,表示不复制数据。如果设置为 True,则复制输入的数据
fastpath:是否启用快速路径。默认为 False。启用快速路径可能会在某些情况下提高性能
# 代码示例
# 1.将List变成Series
courses = ['语文','数学','英语','生物','化学']
x1 = pd.Series(data = courses)
# 2.将Dict类型变成Series
grade = {'语文':80, '数学':60, '英语':50, '生物':90}
x2 = pd.Series(data = grade)
# 3.将Series转换成List
y1 = list(x1)
x1.to_list()
# 4.Series转换成DataFrame
pd.DataFrame(x2,columns=['grade'])
# 5.numpy创建Series
n1 = np.array(['语文','数学','英语','生物','化学'])
pd.Series(n1)
0 语文
1 数学
2 英语
3 生物
4 化学
dtype: object
二:DataFrame类型
pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
data:数据(列表/字典)
index:每一行的行名
colunms:每一列的列名
dtype:每个数据的类型
copy:是否复制数据。默认为 False,表示不复制数据。如果设置为 True,则复制输入的数据
# 1.ndarray类型转换成DataFrame类型
x1 = np.array(np.random.randint(0,50,10)) #一维数组转换
x2 = np.array(np.random.randint(0,50,(5,5))) #二维数组转换
y1 = pd.DataFrame(x1)
y2 = pd.DataFrame(x2)
2.导入csv文件或者xlsx文件
df1 = pd.DataFrame(pd.read_csv(‘csv_path_name.csv’)) #将读写的数据转换成DataFrame类型
df2 = pd.DataFrame(pd.read_excel(‘xlsx_path_name.xlsx’))
# 3.自己创建DataFrame类型数组据
x = pd.DataFrame({
"id":[101,102,103,104,105,106],
"data":pd.date_range('20240101',periods = 6),
'city':['郑州','开封','洛阳','新乡','三门峡','南阳'],
'age':[23,44,54,32,34,32]
}
)
x
id | data | city | age | |
---|---|---|---|---|
0 | 101 | 2024-01-01 | 郑州 | 23 |
1 | 102 | 2024-01-02 | 开封 | 44 |
2 | 103 | 2024-01-03 | 洛阳 | 54 |
3 | 104 | 2024-01-04 | 新乡 | 32 |
4 | 105 | 2024-01-05 | 三门峡 | 34 |
5 | 106 | 2024-01-06 | 南阳 | 32 |
4.常用操作
#保存文件
DataFrame.to_excel(‘name.xlsx’) #保存为excel文件
DataFrame.to_csv(‘name.csv’) #保存为csv文件
#多行索引
x.loc[1:4, 'age'] #取2-4行的age属性值
x.iloc[1:4, 2] #编定位:取2-4行的第三列属性值
#条件索引
x[x['age'] > 40] #取列属性值大于40的行
x[(x['age'] > 30 ) & ( x['age'] < 40)] #多重条件判断:同时满足两个或多个条件
id | data | city | age | |
---|---|---|---|---|
3 | 104 | 2024-01-04 | 新乡 | 32 |
4 | 105 | 2024-01-05 | 三门峡 | 34 |
5 | 106 | 2024-01-06 | 南阳 | 32 |
#一般统计方法
x['age'].count() #非空计数
x['age'].max() #最大值
x['age'].min() #最小值
x['age'].var() #方差
118.3
更多信息请自行查看菜鸟教程