首页 > 其他分享 >Pandas 方法总结

Pandas 方法总结

时间:2024-10-08 11:36:05浏览次数:9  
标签:总结 df 数据 age 写入 Column1 csv 方法 Pandas

目录

Pandas 方法总结

Pandas 是一个强大的 Python 数据分析库,它提供了快速、灵活和表达力强的数据结构,旨在使数据清洗和分析工作变得更加简单易行。以下是一些 Pandas 中常用的方法和它们的示例:

1. 读取写入

  • read_csv():从 CSV 文件读取数据。

  • read_excel():从 Excel 文件读取数据。

  • read_sql():从 SQL 数据库读取数据。

  • to_csv():将 DataFrame 写入 CSV 文件。

  • to_excel():将 DataFrame 写入 Excel 文件。

import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('data.csv')

# 读取 Excel 文件
df = pd.read_excel('data.xlsx')

# 写入 CSV 文件
df.to_csv('output.csv', index=False)

# 写入 Excel 文件
df.to_excel('output.xlsx', index=False)



2. 数据查看

  • head():查看数据框的前几行数据,默认为5行。

  • tail():查看数据框的后几行数据,默认为5行。

  • describe():生成数据的描述性统计信息,如最大值、最小值、平均值和标准差等。

  • info():显示数据框的基本信息,包括索引、数据类型和内存信息等。

3. 选择过滤

  • loc[]:基于标签的索引器。

  • iloc[]:基于位置的索引器。

  • query():基于表达式的查询。

  • sort_values():对数据进行排序。

  • rank():对数据进行排名。

# 基于标签选择
df.loc[:, 'Column1']

# 基于位置选择
df.iloc[0]  # 第一行
df.iloc[:, 1]  # 第二列

# 使用 query 方法
df.query('Column1 > 10')

# 使用sort_values

# 按'age'列进行升序排列  
df_sorted_asc = df.sort_values('age', ascending=True)  
# 按'age'列进行降序排列  
df_sorted_desc = df.sort_values('age', ascending=False)
# 使用rank()

df['rank'] = df['age'].rank(method='dense')  # 对'age'列进行排名

4. 数据清洗

  • dropna():删除缺失数据。
  • fillna():填充缺失数据。
  • drop_duplicates():删除重复数据。
# 删除缺失数据
df.dropna(inplace=True)

# 填充缺失数据
df.fillna(value=0, inplace=True)

# 删除重复数据
df.drop_duplicates(inplace=True)

5. 数据转换

  • apply():应用一个函数到 DataFrame 的每一列或每一行。
  • map():将函数应用于 Series 的每个元素。
  • pivot_table():创建一个新的表格,用于数据透视。
# 使用 apply 方法
df.apply(lambda x: x**2)

# 使用 map 方法
df['Column1'].map(lambda x: x**2)

# 创建数据透视表
pivot_table = df.pivot_table(index='Column1', columns='Column2', values='Column3', aggfunc='mean')

6. 数据聚合

  • groupby():对数据进行分组聚合操作。
  • sum():计算列的总和。
  • mean():计算列的平均值。
# 分组聚合
grouped = df.groupby('Column1')
grouped.sum()
grouped.mean()

# 直接聚合
df.sum()
df.mean()

7. 数据合并

  • merge():合并两个 DataFrame。
  • concat():沿轴连接多个 DataFrame。
# 合并 DataFrame
merged_df = pd.merge(df1, df2, on='Column1')

# 连接 DataFrame
concatenated_df = pd.concat([df1, df2], axis=0)

8. 时间序列

  • resample():对时间序列数据进行重采样。

  • rolling():计算滚动窗口。

  • shift(): 时间轴移动

    shift()`函数用于将数据沿时间轴向上或向下移动,这在时间序列分析中非常有用。它可以用来将数据向前或向后移动,从而创建滞后或提前的变量。

    • periods:整数,默认为1。表示移动的周期数,正值表示向下移动,负值表示向上移动。
    • freq:用于移动数据的频率。
    • axis:轴向,默认为0,表示沿行移动。如果设置为1,则沿列移动。
    • fill_value:移动后留下的空缺位置的填充值。
  # 重采样
  df.resample('M').mean()  # 按月计算均值
  
  # 滚动窗口
  df['Column1'].rolling(window=3).mean()
# 创建一个简单的DataFrame
df = pd.DataFrame({
    'Column1': [1, 2, 3, 4, 5],
    'Column2': [5, 4, 3, 2, 1]
})

# 将Column1向下移动2个周期
shifted_df = df.shift(periods=2, fill_value=0)

9. 数据处理

  • mean():计算列的平均值。

  • corr():计算列之间的相关性。

  • drop():删除某些列或行。

  • isnull():检查缺失值。

  • fillna():填充缺失值。

10 数据重塑

  • pivot():将长格式的数据框转化为宽格式。
  • melt():将宽格式的数据框转化为长格式。

# pivot()方法

# 将数据框按照'name'、'subject'和'score'进行重塑
pivoted = df.pivot(index='name', columns='subject', values='score')


# melt()方法

# 将数据框按照'name'和'age'进行重塑,并生成新的列'subject'和'score'
melted = df.melt(id_vars=['name', 'age'], var_name='subject', value_name='score')

11. 数据导出

  • to_csv():将数据框写入CSV文件。

  • to_excel():将数据框写入Excel文件。

# to_csv()

 # 将数据框写入CSV文件,不写入行索引
df.to_csv('example.csv', index=False) 


# to_excel()
# 将数据框写入Excel文件,不写入行索引
df.to_excel('example.xlsx', index=False)  

12. 绘图

  • plot():基于 matplotlib 的绘图方法。
df.plot(x='Column1', y='Column2', kind='line')

13.其他方法

  • astype():改变数据类型。
  • value_counts():计算某一列中数值出现的次数。

# astype()
# 将'age'列从int64转化为int32  
df['age'] = df['age'].astype('int32')

# value_counts()
# 计算'name'列中每个值出现的次数
print(df['name'].value_counts()) 

标签:总结,df,数据,age,写入,Column1,csv,方法,Pandas
From: https://www.cnblogs.com/redufa/p/18451339

相关文章

  • 使用cgroup限制资源方法
    1.使用cgroup(控制组)限制进程占用内存方法   1:创建cgroup目录:  首先,需要在/sys/fs/cgroup/memory目录下创建一个子目录  sudomkdir/sys/fs/cgroup/memory/myapp  // sudomkdir/sys/fs/cgroup/cpu/myapp,限制CPU方法    2:设置内存限制:  sudosh......
  • 大模型学习方法之——大模型技术学习路线
    “技术学习无非涵盖三个方面,理论,实践和应用**”**大模型技术爆火至今已经有两年的时间了,而且大模型技术的发展潜力也不言而喻。因此,很多人打算学习大模型,但又不知道该怎么入手,因此今天就来了解一下大模型的学习路线。‍‍丁元英说:“透视社会有三个层面,技术,制度与文化”;同......
  • 大语言模型在线连续知识学习的方法
    概述○提出在线连续知识学习(OCKL)框架,旨在管理语言模型中世界知识的动态性,满足实时约束条件。○提出了用于评估OCKL框架下语言模型的两个新指标:知识获取速率(KAR)和知识差距(KG)。○在现有的最先进方法的基础上进行实验证明,针对OCKL框架,现有的连续学习方法不足以应对其独特......
  • ICMP timestamp请求响应漏洞CVE-1999-0524解决方法
    ICMPtimestamp请求响应漏洞CVE-1999-0524解决方法1、添加进和出的规则firewall-cmd--permanent--direct--add-ruleipv4filterINPUT0-pICMP--icmp-typetimestamp-request-mcomment--comment"denyICMPtimestamp"-jDROPfirewall-cmd--permanent--direct--ad......
  • 宝塔面板外网地址无法访问的原因和解决方法
    宝塔面板外网地址无法访问可能有以下几个原因及相应的解决方法:端口未开放原因:服务器防火墙或安全组设置中没有开放宝塔面板使用的默认端口(如8888)。解决方法:登录服务器,检查并确保防火墙或安全组规则中已添加允许外部访问的规则。IP地址限制原因:在宝塔面板的安全设置中,......
  • 网站还原错误怎么解决;网站错误还原及解决方法
    网站在运行过程中可能会遇到各种错误,导致服务不可用或用户体验下降。解决这些问题通常涉及几个步骤:1.确定错误类型前端错误:如JavaScript错误、样式加载失败等。后端错误:数据库连接问题、服务器配置错误、API逻辑错误等。网络问题:DNS解析失败、服务器无响应等。2.收集日志......
  • OPCUA 方法和事件的区别
     OPCUA(开放平台通信统一架构)是一种用于工业自动化的通信协议,它支持数据的获取、控制和监控。在OPCUA中,方法(Methods)和事件(Events)是两种重要的概念,它们有以下区别:方法(Methods)定义:方法是一个可以被调用的操作,通常与某个对象相关联,可以处理输入参数并返回输出结果。功能......
  • 数据库连接错误的原因及解决方法
    数据库连接错误可能由多种原因引起。以下是一些常见的数据库连接错误及其解决方法:1.错误的数据库凭证原因错误的数据库用户名或密码。数据库用户没有足够的权限。解决方法检查用户名和密码:确认数据库用户名和密码是否正确。重新输入正确的用户名和密码。检查用......
  • 10.7 noip多校联考与牛客CSP-S总结
    我在这里对我今天在牛客考试中进入洛谷做出深刻的反省,我不应该在考试的时候上与考试无关的网站(洛谷),保证没有下犯,在该做什么的时候就做什么,分清主次。10.7noip多校联考与牛客CSP-S总结noip联考T1是一道类似于概率计数DP的题,统计概率。通过题目给出的信息,可以发现使用概率,而统......
  • iPhone开机一直白苹果闪烁,3个解决卡在开机画面的方法!
    很多苹果用户在网上反馈,某天iPhone开机一直卡在开机Apple标志画面,而且白苹果一直闪烁。 长按电源键也无法正常启动设备,黑屏后还是会出现苹果logo,一直闪烁。遇到iPhone开机一直白苹果闪烁的情况,多半是因为iOS系统故障。更专业的说,是系统组件调用执行失败而导致无法出现系统的......