《利用Python进行数据分析》第六章数据载入存储相关知识点总结

1、文本格式数据的读写

关于文件的读取,CSDN已经有很多博主写的很详细,这里不再详细地叙说。但是笔者最近导入文件时,将文件路径直接复制上去,结果产生了报错,于是我就讲路径手动码上去,错误就没了。网上找了下原因,原来是复制的路径出现了\t的换行符,在pandas导入文件时识别不了就报错。

import pandas as pd
data = pd.read_excel('C:/Users/Blackpink/Desktop/学校作业/2月到3月的变化.xlsx')
#不能直接复制路径上去 否则会报错 因为有/t换行符直接复制粘贴会导致无法识别
data

报错
在这里插入图片描述

如果你想指定某一列为索引,可以利用index_col

data = pd.read_excel('C:/Users/Blackpink/Desktop/学校作业/2月到3月的变化.xlsx',index_col='日 期',parse_data='日 期')
data

输出
在这里插入图片描述
但是Excel表格中,日期在notebook显示并不是以日期显示的,而是天数。如果要转换为日期显示,可以使用一下方法。
首先建立个datetime量,再减去其Timedelta的天数,就能得到python的初始时间。

pd.to_datetime('2020-02-15') - pd.Timedelta('43876D')

输出Timestamp('1899-12-30 00:00:00')
再将其初始时间加上表中的天数就行了。

#定义函数用来将int日期进行转换
def date(stamp):
    delta = pd.Timedelta(str(stamp)+'D')
    real_time = pd.to_datetime('1899-12-30')+delta
    return real_time
date(data.index[0])
#更改索引不能一个一个更改
data1 = data.copy()
a = []
for i in range(len(data1.index)):
    a.append(date(data.index[i]))
data1.reindex(a)

在本章书上还讲到了Python %S,%d等格式化输出,我去找了相关知识点,发现其中一位博主总结到位:https://www.cnblogs.com/claidx/p/7253288.html

此外,利用时序生成简单的csv表格,操作如下:

import numpy as np
dates = pd.date_range('1/1/2020',periods=7)
ts = pd.Series(np.arange(7), index=dates)
ts.to_csv('tsSeries.csv')

输出得到csv文件
在这里插入图片描述

对于JSON的数据转换成python形式,可以使用json.loads方法

obj = """
{"name":"wes",
"places_lived":["United States","Spain","Germany"],
"pet": null,
"siblings": [{"name":"Scott","age":30, "pets":["Zeus","Zuko"]},
{"name":"Katie","age":38,
"pets": ["Sixes","Stache","Cisco"]}]
}
"""

import json
result = json.loads(obj)
result

输出

{'name': 'wes',
 'places_lived': ['United States', 'Spain', 'Germany'],
 'pet': None,
 'siblings': [{'name': 'Scott', 'age': 30, 'pets': ['Zeus', 'Zuko']},
  {'name': 'Katie', 'age': 38, 'pets': ['Sixes', 'Stache', 'Cisco']}]}

然后可以将以上转换成的字典转到DataFrame中

siblings = pd.DataFrame(result['siblings'], columns=['name','age'])
siblings

输出
在这里插入图片描述

2、二进制格式

利用request的方法可以获取json网页的内容

import requests

response = requests.get("http://www.baidu.com")
print(response.text)

输出
在这里插入图片描述

以上就是这一书第六章我认为重要知识点的笔记,有错误之处希望指出,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值