- 7. 数据的读取与存储
- 7.1 读 *** 作
- 7.2 写 *** 作
- 7.3 JSON格式
- 7.4 分块读取大文件
Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了 高级数据结构和 数据 *** 作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一
(1) 一个强大的分析和 *** 作大型结构化数据集所需的工具集
(2) 基础是NumPy,提供了高性能矩阵的运算
(3) 提供了大量能够快速便捷地处理数据的函数和方法
(4)应用于数据挖掘,数据分析
(5)提供数据清洗功能 7. 数据的读取与存储 7.1 读 *** 作
读取文件函数:
读取文件函数中参数说明:
示例代码:
#读 *** 作 #read_csv默认的分隔符为, df = pd.read_csv('ex1.csv') #结果为: # a b c d message #0 1 2 3 4 hello #1 5 6 7 8 world #2 9 10 11 12 python df #read_table默认分隔符为制表符 #结果为: # a b c d message #0 1 2 3 4 hello #1 5 6 7 8 world #2 9 10 11 12 python pd.read_table('ex1.csv',sep=',') #读取没有列名只有数据的文件 读取文件时列名为默认列名 #结果为: # 0 1 2 3 4 #0 1 2 3 4 hello #1 5 6 7 8 world #2 9 10 11 12 python pd.read_csv('ex2.csv',header=None) #读取没有列名只有数据的文件 读取文件时给定列名 #结果为: # a b c d message #0 1 2 3 4 hello #1 5 6 7 8 world #2 9 10 11 12 python pd.read_csv('ex2.csv',names=['a','b','c','d','message']) #index_col指定某一列变为行索引 df1 = pd.read_csv('ex2.csv',names=['a','b','c','d','message'],index_col='message') #结果为: # a b c d #message #hello 1 2 3 4 #world 5 6 7 8 #python 9 10 11 12 df1 #结果为: # key1 key2 value1 value2 #0 one a 1 2 #1 one b 3 4 #2 one c 5 6 #3 one d 7 8 #4 two a 9 10 #5 two b 11 12 #6 two c 13 14 #7 two d 15 16 pd.read_csv('csv_mindex.csv') #指定多列为层级索引 pa = pd.read_csv('csv_mindex.csv',index_col=['key1','key2']) #结果为: # value1 value2 # key1 key2 # one a 1 2 # b 3 4 # c 5 6 # d 7 8 # two a 9 10 # b 11 12 # c 13 14 # d 15 16 pa #read_table读取txt文件 sep='s+' df1 = pd.read_table('ex3.txt',sep='s+') #结果为: # A B C #aaa -0.264438 -1.026059 -0.619500 #bbb 0.927272 0.302904 -0.032399 #ccc -0.264273 -0.386314 -0.217601 #ddd -0.871858 -0.348382 1.100491 df17.2 写 *** 作
df2 = pd.read_csv('ex1.csv') #结果为: # a b c d message #0 1 2 3 4 hello #1 5 6 7 8 world #2 9 10 11 12 python df2 #将dataframe数据写入csv文件中 df2.to_csv('out_ex1.csv')7.3 JSON格式
## JSON数据 import json 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"]}] } """ #将json字符串转换为python形式 res = json.loads(obj) #结果为: #{'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']}]} res #将python对象转化为json格式 res1 = json.dumps(res) #结果为: #'{"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"]}]}' res1 #读取python形式对象中某个参数的值 sib = pd.Dataframe(res['siblings'],columns=['name','age']) #结果为: # name age #0 Scott 30 #1 Katie 38 sib7.4 分块读取大文件
#方式一 agg1 = pd.read_csv(r'agg_match_stats_1.csv',chunksize=10) agg1.get_chunk() #方式二 agg1 = pd.read_csv(r'agg_match_stats_1.csv',iterator=True) agg1.get_chunk(5)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)