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

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

【四旋翼无人机】具备螺旋桨倾斜机构的全驱动四旋翼无人机:建模与控制研究(Matlab代码、Simulink仿真实现)内容概要:本文围绕具备螺旋桨倾斜机构的全驱动四旋翼无人机展开研究,重点探讨其系统建模与控制策略,结合Matlab代码与Simulink仿真实现。文章详细分析了无人机的动力学模型,特别是引入螺旋桨倾斜机构后带来的全驱动特性,使其在姿态与位置控制上具备更强的机动性与自由度。研究涵盖了非线性系统建模、控制器设计(如PID、MPC、非线性控制等)、仿真验证及动态响应分析,旨在提升无人机在复杂环境下的稳定性和控制精度。同时,文中提供的Matlab/Simulink资源便于读者复现实验并进一步优化控制算法。; 适合人群:具备一定控制理论基础和Matlab/Simulink仿真经验的研究生、科研人员及无人机控制系统开发工程师,尤其适合从事飞行器建模与先进控制算法研究的专业人员。; 使用场景及目标:①用于全驱动四旋翼无人机的动力学建模与仿真平台搭建;②研究先进控制算法(如模型预测控制、非线性控制)在无人机系统中的应用;③支持科研论文复现、课程设计或毕业课题开发,推动无人机高机动控制技术的研究进展。; 阅读建议:建议读者结合文档提供的Matlab代码与Simulink模型,逐步实现建模与控制算法,重点关注坐标系定义、力矩分配逻辑及控制闭环的设计细节,同时可通过修改参数和添加扰动来验证系统的鲁棒性与适应性。
### Python Pandas使用教程 #### 导入使用 `pandas` 之前,需先导入该。通常情况下,会将其简写为 `pd` 以便于后续调用[^3]。 ```python import pandas as pd print(pd.__version__) ``` 此代码片段可以用来验证当前环境中安装的 `pandas` 版本号。 --- #### 安装Pandas 如果尚未安装 `pandas` ,则可以通过以下方式完成安装。确保已确认使用的 Python 版本满足最低要求(Python 2.7 或 Python 3 及以上版本)[^1]。 通过命令行输入以下内容来检查 Python 的版本: ```bash python --version ``` 接着,在终端或命令提示符下运行以下命令以安装 `pandas`: ```bash pip install pandas ``` 对于某些环境可能需要管理员权限,或者可以选择升级现有包: ```bash pip install --upgrade pandas ``` --- #### 基础功能介绍 ##### 将分类变量转换为哑变量 `pandas` 提供了一个非常实用的功能——将分类变量转化为哑变量 (Dummy Variables),这有助于机器学习模型更好地处理类别型数据[^2]。 以下是具体实现方法: ```python import pandas as pd # 创建示例 DataFrame data = {'color': ['red', 'blue', 'green']} df = pd.DataFrame(data) # 转换为哑变量 dummies = pd.get_dummies(df['color'], prefix='color') result_df = pd.concat([df, dummies], axis=1).drop('color', axis=1) print(result_df) ``` 输出结果将是每种颜色对应一列布尔值表示是否存在该颜色。 --- #### 数据读取操作 `pandas` 支持多种文件格式的数据读取,常见的有 CSV 文件、Excel 表格以及数据查询结果等[^3]。 ###### 读取CSV文件 假设有一个名为 `example.csv` 的文件,可通过以下代码加载到内存中: ```python df = pd.read_csv('example.csv') print(df.head()) # 查看前五行数据 ``` ###### 读取Excel表格 同样支持 Excel 格式的文件读取: ```python excel_data = pd.read_excel('file.xlsx', sheet_name='Sheet1') print(excel_data.describe()) ``` ###### 查询MySQL数据 连接 MySQL 并提取表中的记录作为 DataFrame 对象展示出来: ```python import pymysql from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://username:password@host/dbname') query = "SELECT * FROM table_name" db_data = pd.read_sql(query, engine) print(db_data.info()) ``` --- #### 总结 `pandas` 是一个强大的工具集,广泛应用于数据分析领域。它不仅提供了灵活的数据结构还封装了许多高效的操作接口。无论是简单的数值统计还是复杂的特征工程都能轻松应对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值