当前位置:首页 > 科技  > 软件

Python 处理 CSV 文件的 12 个高效技巧

来源: 责编: 时间:2024-06-24 17:14:06 239观看
导读今天,我们的Python之旅,目标是那片由逗号分隔的宝藏——CSV文件。别看它简单,掌握这些技巧,你的数据处理能力将直线上升,轻松驾驭千行万列的数据海洋。让我们一起,用Python的魔力,让CSV舞动起来吧!1. 初次见面,你好,CSV!安装pand

今天,我们的Python之旅,目标是那片由逗号分隔的宝藏——CSV文件。别看它简单,掌握这些技巧,你的数据处理能力将直线上升,轻松驾驭千行万列的数据海洋。让我们一起,用Python的魔力,让CSV舞动起来吧!gG528资讯网——每日最新资讯28at.com

gG528资讯网——每日最新资讯28at.com

1. 初次见面,你好,CSV!

安装pandas,是这场冒险的起点。它,是Python数据分析的瑞士军刀。gG528资讯网——每日最新资讯28at.com

pip install pandas

导入我们的英雄——pandas,并亲切地叫它pd。gG528资讯网——每日最新资讯28at.com

import pandas as pd

2. 一网打尽:读取CSV

data = pd.read_csv('data.csv')

这一行代码,就像渔网一样,把CSV里的所有数据捞到一个DataFrame中。DataFrame,就是你的数据工作台。gG528资讯网——每日最新资讯28at.com

3. 快速浏览:头尾看看

print(data.head())  # 前五行print(data.tail())  # 后五行

这就像在快速翻阅书的前几页和最后几页,了解内容概要。gG528资讯网——每日最新资讯28at.com

4. 指名道姓:列名操作

想改列名?简单!gG528资讯网——每日最新资讯28at.com

data.rename(columns={'old_name': 'new_name'}, inplace=True)

就像给朋友换个昵称,从此“旧貌换新颜”。gG528资讯网——每日最新资讯28at.com

5. 筛选高手:条件选择

想要特定条件的行?试试这个:gG528资讯网——每日最新资讯28at.com

filtered_data = data[data['age'] > 18]

这行代码,就像是在人群中寻找成年人,只留下符合条件的。gG528资讯网——每日最新资讯28at.com

6. 数字游戏:统计分析

计算平均年龄?Python来帮忙!gG528资讯网——每日最新资讯28at.com

average_age = data['age'].mean()

一行代码,数据背后的秘密就浮出水面了。gG528资讯网——每日最新资讯28at.com

7. 分列大师:一分为二

遇到一列数据里藏着两部分内容?用str.split()拆分它们。gG528资讯网——每日最新资讯28at.com

data[['first_name', 'last_name']] = data['name'].str.split(' ', expand=True)

就像变魔术,一列瞬间变成两列。gG528资讯网——每日最新资讯28at.com

8. 合纵连横:合并数据

有两份数据要合在一起?pd.concat()或merge()是你的左右手。gG528资讯网——每日最新资讯28at.com

combined_data = pd.concat([data1, data2], ignore_index=True)

或者,基于某个键合并:gG528资讯网——每日最新资讯28at.com

merged_data = pd.merge(data1, data2, on='common_key')

合并,让数据的力量倍增。gG528资讯网——每日最新资讯28at.com

9. 精准筛选:布尔索引

想要特定范围的值?布尔索引来帮忙!gG528资讯网——每日最新资讯28at.com

subset = data[(data['age'] > 18) & (data['age'] < 30)]

这就像设置了一个门槛,只让特定年龄段的数据通过。gG528资讯网——每日最新资讯28at.com

10. 数据清洗:去除空值

空值是数据清洗的常客,dropna()和fillna()是你的清洁工具。gG528资讯网——每日最新资讯28at.com

clean_data = data.dropna()  # 删除空值行# 或者data.fillna(value='default', inplace=True)  # 用默认值填充

保持数据的整洁,分析才更准确。gG528资讯网——每日最新资讯28at.com

11. 排队站好:排序操作

按年龄升序排列?gG528资讯网——每日最新资讯28at.com

sorted_data = data.sort_values(by='age', ascending=True)

就像学生们按身高排队,井然有序。gG528资讯网——每日最新资讯28at.com

12. 再见,CSV:保存成果

处理完毕,别忘了保存!gG528资讯网——每日最新资讯28at.com

data.to_csv('processed_data.csv', index=False)

这样,你的辛苦工作就被永久记录下来了,下次可以直接继续。gG528资讯网——每日最新资讯28at.com

高级技巧

13. 高效过滤:利用查询功能

有时,我们需要基于复杂的逻辑筛选数据。query()函数可以帮你用接近自然语言的方式进行筛选。gG528资讯网——每日最新资讯28at.com

complex_filtered = data.query('age > 18 and city == "New York"')

这就像在对数据说:“给我找出所有年龄大于18且居住在纽约的人。”gG528资讯网——每日最新资讯28at.com

14. 时间旅行:处理日期时间

CSV中常有日期时间数据,pd.to_datetime()是你的时光机。gG528资讯网——每日最新资讯28at.com

data['date'] = pd.to_datetime(data['date'])

这行代码能让字符串形式的日期时间瞬间活过来,便于进一步的时间分析。gG528资讯网——每日最新资讯28at.com

15. 数据透视:透视表的魅力

想要快速汇总数据?透视表(pivot table)来帮忙。gG528资讯网——每日最新资讯28at.com

pivot_table = data.pivot_table(index='city', values='age', aggfunc='mean')

这就像创建了一个小报告,告诉你每个城市人们的平均年龄。gG528资讯网——每日最新资讯28at.com

16. 数据类型转换:掌握元素的真身

有时,你需要改变列的数据类型,比如将字符串转为整型。gG528资讯网——每日最新资讯28at.com

data['age'] = data['age'].astype(int)

这一变,数据的性质就不同了,适合更精准的数学运算。gG528资讯网——每日最新资讯28at.com

17. 高级合并:理解join的魔法

除了基本的合并,pd.DataFrame.join()提供了更多灵活性,特别是在处理具有相同索引的DataFrame时。gG528资讯网——每日最新资讯28at.com

left.join(right, how='inner')  # 内连接

选择合适的连接方式,可以让你的数据合并更加精准高效。gG528资讯网——每日最新资讯28at.com

18. 数据预览:图形化理解

虽然不是直接处理CSV,但可视化可以帮助你更好地理解数据。gG528资讯网——每日最新资讯28at.com

import matplotlib.pyplot as pltdata['age'].hist()plt.show()

一个简单的直方图,让你一眼看出年龄分布。gG528资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-96046-0.htmlPython 处理 CSV 文件的 12 个高效技巧

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 如何编写优雅的 Controller 代码?

下一篇: Rust 又发布新的 1.79.0 稳定版本了!

标签:
  • 热门焦点
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 小米降噪蓝牙耳机Necklace分享:听一首歌 读懂一个故事

    在今天下午的小米Civi 2新品发布会上,小米还带来了一款新的降噪蓝牙耳机Necklace,我们也在发布结束的第一时间给大家带来这款耳机的简单分享。现在大家能见到最多的蓝牙耳机
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈

    前言在使用SpringBoot开发中或者在求职面试中都会使用到很多注解或者问到注解相关的知识。本文主要对一些常用的注解进行了总结,同时也会举出具体例子,供大家学习和参考。注解
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的&ldquo;头腾
  • 品牌洞察丨服务本地,美团直播成效几何?

    来源:17PR7月11日,美团App首页推荐位出现&ldquo;美团直播&rdquo;的固定入口。在直播聚合页面,外卖&ldquo;神枪手&rdquo;直播间、美团旅行直播间、美团买菜直播间等均已上线,同时
  • 华为Mate 60保护壳曝光:硕大后置相机模组 凸起程度有惊喜

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 荣耀Magicbook V 14 2021曙光蓝版本正式开售,拥有触摸屏

    荣耀 Magicbook V 14 2021 曙光蓝版本正式开售,搭载 i7-11390H 处理器与 MX450 显卡,配备 16GB 内存与 512GB SSD,重 1.48kg,厚 14.5mm,具有 1.5mm 键盘键程、
Top