数据分析从零开始实战 | 基础篇(二)

简介: 数据分析从零开始实战 | 基础篇(二)

简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。

上节补充

CSV

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。

TSV

TSV 是Tab-separated values的缩写,即制表符分隔值。
Python的csv模块准确的讲应该叫做dsv模块,因为它实际上是支持范式的分隔符分隔值文件(DSV,delimiter-separated values)的。
  delimiter参数值默认为半角逗号,即默认将被处理文件视为CSV。
  当
delimiter='\t'时,被处理文件就是TSV。

零 写在前面

上一篇文章中带大家了解了数据分析基础,配置好了数据分析的基本环境,以及利用pandas模块读写csv文件,在本文开头,我也补充了csv与tsv的基本介绍与区别,意在更好的让大家理解相关知识点,本文将带大家继续学习文件读取。

点击查看第一篇文章:数据分析从零开始实战 | 基础篇(一)

一 基本知识概要

1.利用pandas读写tsv文件
2.利用pandas读写json文件

二 开始动手动脑

1.利用pandas读写tsv文件

在文章开头我已经说明了csv与tsv的差别,相信部分看过第一篇文章的读者应该知道怎么处理tsv文件了。

csv与tsv只是内容的分隔符不一样,前者是,,后者是\t,python读取这两类文件都使用csv模块,也可以直接利用pandas,这里我们讲利用pandas读取方式,使用的函数read_csv()to_csv()在上一篇 文章中有详细介绍,这里我直接上案例代码。

(1) 读取tsv文件代码
import pandas as pd
import os
# 获取当前文件父目录路径
father_path = os.getcwd()
# 原始数据文件路径
rpath_tsv = father_path+r'\data01\city_station.tsv'
# 读取数据
tsv_read = pd.read_csv(rpath_tsv, sep="\t")
# 显示数据前10条
print(tsv_read.head(10))

运行结果

 

站点名 代号
0  北京北 VAP
1  北京东 BOP
2  北京  BJP
3  北京南 VNP
4  北京西 BXP
(2) 写tsv文件代码
import pandas as pd
import os
# 获取当前文件父目录路径
father_path = os.getcwd()
# 保存数据文件路径
path_tsv = father_path+r'\data01\temp_city.tsv'
data = {"站点名": ["北京北", "北京东", "北京", "北京南", "北京西"],
        "代号": ["VAP", "BOP", "BJP", "VNP", "BXP"]}
df = pd.DataFrame(data)
df.to_csv(path_tsv, sep="\t", index=False)
运行结果

image.png

(3)号外加餐

利用csv模块也可以直接读取csv和tsv文件
csv.reader(csvfile, dialect='excel', **fmtparams)
csv.writer(csvfile, dialect='excel', **fmtparams)

csvfile,必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)
对象,如果是文件对象,打开时需要加"b"标志参数。
qdialect,编码风格,默认为excel的风格,也就是用逗号(,)分隔,dialect方式也
支持自定义。
fmtparam,格式化参数,用来覆盖之前dialect对象指定的编码风格。

2.利用pandas读写json文件
(1)利用pandas读取json文件
import pandas as pd
import os
# 获取当前文件父目录路径
father_path = os.getcwd()
# 原始数据文件路径
rpath_json = father_path+r'\data01\realEstate_trans.json'
json_read = pd.read_json(rpath_json)
# 输出头10行记录
print(json_read.head(10))
运行结果

image.png

函数解析

read_json(path_or_buf,orient,encoding,numpy)

常见参数解析:

path_or_buf:字符串,表示文件路径;

orient:指示预期的JSON字符串格式。可以to_json()使用相应的方向值生成兼容的JSON字符串。一组可能的方向是:

'

split' : dict like {index -> [index], columns -> [columns], data -> [values]}
'records' : list like [{column -> value}, ... , {column -> value}]
'index' : dict like {index -> {column -> value}}
'columns' : dict like {column -> {index -> value}}
'values' : just the values array

encoding:字符串,默认为'utf-8';

numpy:布尔值,默认为False,直接解码为numpy数组。仅支持数字数据,但支持非数字列和索引标签。另请注意,如果numpy = True,则每个术语的JSON顺序必须相同。

(2)利用pandas写入json文件
import pandas as pd
import os
# 获取当前文件父目录路径
father_path = os.getcwd()
# 存储数据文件路径
wpath_json = father_path+r'\data01\temp_trans.json'
data = [{"city": "SACRAMENTO", "longitude": -121.434879, "street": "3526 HIGH ST", "sq__ft": 836, "latitude": 38.631913, "sale_date": "Wed May 21 00:00:00 EDT 2008", "zip": 95838, "beds": 2, "type": "Residential", "state": "CA", "baths": 1, "price": 59222}, {"city": "SACRAMENTO", "longitude": -121.431028, "street": "51 OMAHA CT", "sq__ft": 1167, "latitude": 38.478902, "sale_date": "Wed May 21 00:00:00 EDT 2008", "zip": 95823, "beds": 3, "type": "Residential", "state": "CA", "baths": 1, "price": 68212}, {"city": "SACRAMENTO", "longitude": -121.443839, "street": "2796 BRANCH ST", "sq__ft": 796, "latitude": 38.618305, "sale_date": "Wed May 21 00:00:00 EDT 2008", "zip": 95815, "beds": 2, "type": "Residential", "state": "CA", "baths": 1, "price": 68880}]
df = pd.DataFrame(data)
df.to_json(wpath_json)
运行结果

image.png

函数解析

to_json(path_or_buf,orient,encoding,index)
前三个参数和read_json()里的一样
index:False则选择不写入索引,默认为True。

号外加餐

利用json模版的loads()与dumps()方法也可以实现json文件的读写。

之前的一篇文章有详细介绍Python与Json之间的数据交互

送你的话

最近事情特多,公众号,学习,学校,寒假班,寒假安排。。。一堆事情,所以原创更新的比较慢,后面我想开一些基于Python视频课程,感觉说话比写文章简单,写这么一篇简单的文章得花我半天多的时间,而且累,所以希望大家多多支持。

我始终觉得,要想学好一门语言,底层是最重要的,所以不要觉得入门的这些基本东西太简单,学好基础,才能成大牛


| 今日打卡主题

第n天打卡,你觉得基础知识要不要学的这么细,为什么?


相关文章
|
1月前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
79 5
|
3月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
57 1
|
2月前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
200 0
|
2月前
|
SQL 数据采集 数据可视化
深入 Python 数据分析:高级技术与实战应用
本文系统地介绍了Python在高级数据分析中的应用,涵盖数据读取、预处理、探索及可视化等关键环节,并详细展示了聚类分析、PCA、时间序列分析等高级技术。通过实际案例,帮助读者掌握解决复杂问题的方法,提升数据分析技能。使用pandas、matplotlib、seaborn及sklearn等库,提供了丰富的代码示例,便于实践操作。
170 64
|
1月前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
3月前
|
数据挖掘 Python
Pandas实战(1):电商购物用户行为数据分析
Pandas实战(1):电商购物用户行为数据分析
117 1
|
3月前
|
数据挖掘 Python
Pandas实战(3):电商购物用户行为数据分析
Pandas实战(3):电商购物用户行为数据分析
130 1
|
3月前
|
数据挖掘 Python
Pandas实战(2):电商购物用户行为数据分析
Pandas实战(2):电商购物用户行为数据分析
74 1
|
2月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
133 0
|
4月前
|
数据采集 算法 数据挖掘
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
LinkedIn 对全球超过3.3亿用户的工作经历和技能进行分析后得出,目前最炙手可热的25 项技能中,数据挖掘排名第一。那么数据挖掘是什么? 数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。 今天给小伙伴们分享的Python数据分析与数据挖掘手册是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战