Pandas库的简单使用

导入所需要的库

#导入文件所需库
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
iddatacityage
01012024-01-01郑州23
11022024-01-02开封44
21032024-01-03洛阳54
31042024-01-04新乡32
41052024-01-05三门峡34
51062024-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)]    #多重条件判断:同时满足两个或多个条件
iddatacityage
31042024-01-04新乡32
41052024-01-05三门峡34
51062024-01-06南阳32
#一般统计方法
x['age'].count()   #非空计数
x['age'].max()   #最大值
x['age'].min()   #最小值
x['age'].var()   #方差
118.3

更多信息请自行查看菜鸟教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值