精华内容
下载资源
问答
  • pandas 保存数据到excel,csv

    万次阅读 2019-03-05 14:15:28
    pandas 保存数据比较简单: writer = pd.ExcelWriter('文件保存路径') #columns参数的顺序就是excel的列顺序 #df为需要保存的DataFrame df.to_excel(writer, columns=['save1','save2'], index=False,encoding='utf...

    pandas 保存数据比较简单:

    writer = pd.ExcelWriter('文件保存路径')
    #columns参数的顺序就是excel的列顺序
    #df为需要保存的DataFrame
    df.to_excel(writer, columns=['save1','save2'], index=False,encoding='utf-8',sheet_name='Sheet1')
    #生成csv文件
    #df.to_csv(r'./1.csv',columns=['save1','save2'],index=False,sep=',')
    writer.save()
    展开全文
  • Pandas保存数据为HDF5格式的注意点 在平常的数据存取过程中,我们常常使用csv格式的文件,此格式的文件可以被直接打开、可以直接编辑等等优点,且使用Python读取Ccsv格式的文件的速度比读取txt格式的更快。由于我...

    Pandas保存数据为HDF5格式时应注意数据类型


    在平常的数据存取过程中,我们常常使用csv格式的文件,此格式的文件具有可直接打开、直接编辑等等优点,且使用Python读取csv格式的文件的速度比读取txt格式的更快。由于最近常常需要反复处理几个百万行乃至千万行的数据文件,所以即使我使用了csv格式的文件,读取速度也显得有些慢,秉持着着“节约时间就等于延长生命”的精神,我四处寻找能够进一步减少从文件中读取数据的时间的方法。这时,我看到了文章: Pandas 中 read_csv 与 read_hdf 速度对比,于是决定着手尝试使用HDF5格式,但是,最初的结果显示使用HDF5格式的文件提升的效率没有链接中的文章给出的那么多,且使用HDF5格式保存的数据占用的存储空间要大于原先的csv格式的文件占用的存储空间(见后文中的图)。通过观察,我发现了问题的症结所在—— 数据类型。在读取csv并生成pd.DataFrame时以及将数据保存到HDF5文件中时,数据类型是Object(可以理解为字符串),如果使用 astype()方法将数据类型转换为numpy.float32,则可以缩小生成的HDF5格式的文件的体积,也可以提高后续读取此文件的速度。

    据我推测数据类型转换能够减小文件体积及提高后续读取速度的原因有二:
    1.在绝大多数情况下,字符串占用的存储空间比浮点数占用的存储空间多(小部分情况之一:字符串是一个小的整数,如0、1之类的,此时字符串可能只消耗1或者2个字节,但是如果以整型数保存,则可能占据更多的字节),因此转换数据类型之后可以减少文件占用的硬盘空间;
    2.文件体积的缩小以及明确的数据类型减少了硬盘I/O过程占用的时间(这也是读取数据过程中耗费时间较长的一个过程)以及类型转换的时间。

    结论已经在上面说完了,下文是我自己做的一个简单的对比(可以略过不看):
    一、文件准备
    我使用原始的数据是某模拟软件生成的格式比较规整的txt格式的文件,大致内容如下图:

    Alt 最初的数据形式
    我使用简单的Shell脚本来将它转换成了csv格式的文件:

    #!/bin/bash
    #将原始文件转换为格式为csv格式的文件
    cat $1.txt | tr "/[ ]/" "," > $2.csv
    #参数1是需要被转换txt文件的名称
    #参数2是最终产生的csv的文件名称
    

    生成的csv格式的文件信息如下:
    Alt 生成的csv文件占用的空间大小。
    二、读取csv格式的文件中的数据保存到HDF5格式的文件中
    直接使用导入python自带的csv模块,然后使用csv.reader方法将文件中的数据读入,然后将数据转换为DataFrame,随后使用pandas的to_hdf()方法将数据存储到HDF5格式的文件中。

    import csv
    import os
    import numpy as np
    import pandas as pd
    csvfilename='Result.csv'
    filename='datahdf5.h5'
    csvfile=open(csvfilename)
    reader=csv.reader(csvfile)
    #不进行类型转换
    df = pd.DataFrame(reader)
    #将数据类型指定为astype(np.float32)
    #df = pd.DataFrame(reader).astype(np.float32)
    df.to_hdf(filename, 'a')
    

    这里需要注意:直接读取整个文件的方式将会占用大量的内存,如果文件过大,甚至可能导致memory error出现。

    下面是使用Object类型存储数据和使用numpy.float32类型存储数据时生成的HDF5格式的文件的大小信息:
    Alt 以Object类型保存数据所生成的HDF5格式的文件的大小信息。Alt 以numpy.float32类型保存数据所生成的HDF5格式的文件的大小信息。
    前面提到过,除了文件尺寸的大幅缩减,在读取速度方面,使用numpy.float32类型存储数据也具有极大的优势,下面是我直接读取以上两个文件然后将数据保存到一个pandas.DataFrame中使用的时间的对比,使用的代码如下:

    #读取.h5文件,将数据保存到一个DataFrame中,并打印数据类型。
    import pandas as pd
    
    data = pd.read_hdf("datahdf5.h5")
    df = pd.DataFrame(data)
    print(df.dtypes)
    

    下面是数据和输出的数据类型结果,需要说明的是:1.测试读取数据的时间时,我使用的是cygwin配合time命令,而非原生的类Unix系统上的命令;2.具体的时间结果只代表我个人的计算机上的结果,不同的计算机上耗费的的时间可能不同,但是时间的增减趋势应该是相同的;3.更加严谨的方式是测量多次,然后求一个均值,但是因为我只是想说明这种趋势,所以没有进行更加严谨的测试。

    结果如下:
    Alt 读取数据以Object类型存储的文件的数据,用时:8.805sAlt 读取以numpy.float32类型存储数据文件,用时:0.958s
    通过上面的对比,我们可以看出:使用pandas中的函数将数据存储到HDF5格式的文件时,根据数据的特点指定数据类型,而非直接使用np.object类型保存数据,可以缩小最终得到的以HDF5格式存储数据的文件占用的硬盘空间,同时减少再次读取文件中的数据所消耗的时间。

    展开全文
  • 使用pandas数据进行保存时,可以有两种形式进行保存  一、对于数据量不是很大的文件,可以放到列表中,进行一次性存储。  二、对于大量的数据,可以考虑一边生成,一边存储,可以避免开辟大量内存空间,去...

    使用pandas对数据进行保存时,可以有两种形式进行保存

     

     

      一、对于数据量不是很大的文件,可以放到列表中,进行一次性存储。

      二、对于大量的数据,可以考虑一边生成,一边存储,可以避免开辟大量内存空间,去往列表中存储数据。

    本人才疏学浅,只懂一些表面的东西,如有错误,望请指正!

     

    下面通过代码进行说明

     1 import pandas as pd
     2 
     3 
     4 class SaveCsv:
     5 
     6     def __init__(self):
     7         self.clist = [[1,2,3], [4,5,6], [7,8,9]]
     8 
     9     def savefile(self, my_list):
    10         """
    11         把文件存成csv格式的文件,header 写出列名,index写入行名称
    12         :param my_list: 要存储的一条列表数据
    13         :return:
    14         """
    15         df = pd.DataFrame(data=[my_list])
    16         df.to_csv("./Test.csv", encoding="utf-8-sig", mode="a", header=False, index=False)
    17 
    18     def saveAll(self):
    19         """
    20         一次性存储完
    21         :return:
    22         """
    23         pf = pd.DataFrame(data=self.clist)
    24         pf.to_csv("./Test_1.csv", encoding="utf-8-sig", header=False, index=False)
    25 
    26 
    27     def main(self):
    28         nameList = ["beijing", "shanghai", "guangzhou", "shenzhen", "xiongan", "zhengzhou"]
    29         # start表示循环从1开始计数
    30         for num, data in enumerate(nameList, start=1):
    31             if num % 2 == 0:
    32                 self.savefile(["成功", data, num])
    33             else:
    34                 self.savefile(["失败", data, num])
    35         return 0
    36 
    37 if __name__ == '__main__':
    38     sc = SaveCsv()
    39     sc.main()
    40     sc.saveAll()

     

    下面对代码进行简单的说明:

    savefile:可以通过一边循环一边保存到同一个文件上,对于部分参数的含义可以自行百度

    saveAll:是通过一次性存储,将所有数据通过列表一次存储结束

     

    转载于:https://www.cnblogs.com/ppwang06/p/11517328.html

    展开全文
  • pandas提供了非常方便的函数,能够将数据保存到cvs或者xlsx中。 import pandas as pd import numpy as np import pymysql from sqlalchemy import create_engine import openpyxl pdata = pd.read_csv('tips.csv') ...
  • pandas DataFrame数据转为list

    万次阅读 多人点赞 2017-05-21 22:46:10
    首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list,示例代码如下:# -*- coding:...import pandas as pddata_x = pd.read_csv("E:/Tianchi/result/features.csv",useco

    首先使用np.array()函数把DataFrame转化为np.ndarray(),再利用tolist()函数把np.ndarray()转为list,示例代码如下:

    # -*- coding:utf-8-*-
    import numpy as np
    import pandas as pd
    
    data_x = pd.read_csv("E:/Tianchi/result/features.csv",usecols=[2,3,4])#pd.dataframe
    data_y =  pd.read_csv("E:/Tianchi/result/features.csv",usecols=[5])
    
    train_data = np.array(data_x)#np.ndarray()
    train_x_list=train_data.tolist()#list
    print(train_x_list)
    print(type(train_x_list))
    
    展开全文
  • pandas 数据读取与保存

    千次阅读 多人点赞 2020-12-30 19:18:52
    pandas 数据读取与保存 一:读取表格数据 例:在一个text.xlsx文件中,有text1,text2,text3三张表格 sheetname 切换sheet表格 可以传入整形,表示从0开始的索引 pd.read_excel(r"text.xlsx",sheetname=1) ...
  • python pandas 读取,保存数据

    千次阅读 2019-07-29 19:06:57
    python pandas 读取,保存数据 #pandas 读取数据 read_csv read_excel read_hdf read_sql read_json read_magpack read_html read_gbq read_stata read_sas read_clipboard read_pickle #保存数据 to_csv to_excel ...
  • pandas小记:pandas数据输入输出

    万次阅读 2016-08-15 10:12:28
    输出格式控制 pandas dataframe数据全部输出,数据太多也不用省略号表示。 pd.set_option('display.max_columns',None) 或者 with option_context('display.max_rows', 10, 'dis...
  • 在用pandas处理数据库的数据时,将处理的结果保存成csv格式,发现有一列的数据自动换行了,而没有待在原本的列里面。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190523145326214.png) 原因分析 之前花...
  • pandas小记:pandas数据结构和基本操作

    万次阅读 多人点赞 2014-01-08 21:06:08
    pandas数据 结构:Series、DataFrame、索引对象 pandas基本功能:重新索引,丢弃指定轴上的项,索引、选取和过滤,算术运算和数据对齐,函数应用和映射...pandas含有使数据分析工作变得更快更简单的高级数据结构...
  • pandas dataframe数据提取的方法

    万次阅读 多人点赞 2018-04-08 21:37:08
    pandas dataframe数据提取
  • pandas数据保存为csv文件 去除索引

    千次阅读 2020-08-22 13:30:58
    pandas数据保存为csv文件 去除索引 设置参数 index=None 原: data_new.to_csv(‘data_new.csv’) 去除索引: data_new.to_csv(‘data_new.csv’,index=None)
  • 安装第三方库 pandas openpyxl(保存为excle用) import pandas as pd import openpyxl # 数据 datalist = { "姓名": ["张三", "李四", "王二", "赵五"], "语文": [91, 82, 73, 65], "数学": [99, 88, 77, 66],...
  • pandas数据保存到数据库

    千次阅读 2019-02-14 16:27:20
    import pandas as pd from sqlalchemy import create_engine engine = create_engine('mysql://root:123456@localhost/music?charset=utf8') con = engine.connect() pd.set_option('expand_frame_repr', Fals.....
  • Pandas数据保存与加载

    千次阅读 2020-02-26 08:59:54
    原文地址 ...生成测试数据 df = pd.DataFrame({'col1':[11,12,13], 'col2':[21,22,23]}) 保存到.csv文件 df.to_csv('data/savecsv.csv') 从.csv文件中读取 # 从.csv文件读取读取DataFrame对...
  • Pandas是Python的一个数据分析包,Pandas最初被作为金融数据分析工具而开发出来,因此,Pandas为时间序列提供了很好的支持。Pandas是基于Numpy构建的含有更高级数据结构和工具的数据分析包。Pandas数据结构: ...
  • pandas 筛选数据

    千次阅读 2018-04-25 10:14:54
    虽然去年就开始用pandas筛选数据,但有些方法还是容易忘记,工作中写的代码差点出错了,所以把这些内容记下来。其实英文官方文档上的内容非常详细,可以多看看。 多条件筛选 这里的筛选方法,是根据不同字段的...
  • pandas 基本数据结构

    千次阅读 2020-01-20 21:09:39
    pandas 基本数据结构 一、pandas基本数据结构 1、pandas中主要有两种数据结构,分别是:Series和 DataFrame。 2、Series:一种类似于一维数据的对象,是由一组数据(各种 Numpy数据类型)以及一组与之相关的...
  • 利用pandas数据保存为csv和Excel格式

    万次阅读 2019-01-23 12:41:41
    import pandas as pd def save_csv(arr, csv_filename=None): """Save the data in csv format""" if csv_filename == None: csv_filename="csv.csv" arr_df = pd....
  • Python-pandas处理数据-删除重复数据

    千次阅读 2019-03-03 20:57:21
    Python-pandas处理数据-删除重复数据摘要应用场景代码实现结果 摘要 本文介绍实际情况中如何删除一行完全一样的数据 应用场景 如图,在实际情况中,有这样一组数据数据中有很多行的数据都是相同的,为了删除...
  • [Pandas]数据选取/数据切片

    万次阅读 2018-10-09 17:30:26
    在对数据做相应操作之前,我们要先筛选出所需的数据pandas提供了一些方法方便我们选取数据,这里主要讲解dataFrame类型的数据选取,Series类型用法类似,可以查阅文档中的相关属性。 pandas主要提供了三种属性用来...
  • pandas 两列数据合并

    千次阅读 2020-11-18 18:32:12
    背景 有两个字段,想要将其合并成为一... import pandas as pd df = pd.DataFrame({'year': ['2019', '2020'], 'quarter': ['q1', 'q2']}) df['year_quarter'] = df['year'] + "_" + df['quarter'] # 方法1 df['yea
  • 数据处理之Pandas数据类型转换

    千次阅读 2020-10-23 20:36:38
    Pandas中进行数据类型转换有三种基本方法: 使用astype()函数进行强制类型转换 自定义函数进行数据类型转换 使用Pandas提供的函数如to_numeric()、to_datetime() 举例数据 import numpy as np import pandas as pd...
  • Pandas —— 数据读取

    千次阅读 2020-07-18 11:19:43
    文章目录Pandas 数据读取纯文本文件读取csv 文件读取xlsx 格式文件读取MySQL 数据表读取 Pandas 数据读取 Pandas 需要先读取表格类型的数据,然后才能进行分析 数据类型 说明 Pandas 读取方法 csv、tsv、txt...
  • 基于pandas进行数据预处理

    千次阅读 2017-04-27 11:10:43
    参加kaggle数据挖掘比赛,就第一个赛题Titanic的数据,学习相关数据预处理以及模型建立,本博客关注基于pandas进行数据预处理过程。包括数据统计、数据离散化、数据关联性分析引入包和加载数据import pandas as pd ...
  • Pandas指定样式保存excel数据的N种姿势

    万次阅读 多人点赞 2020-12-28 00:15:55
    文章目录准备数据pandas使用xlsxwriter引擎保存数据xlsxwriter按照指定样式写出pandas对象的数据pandas使用openpyxl引擎保存数据 准备数据 import pandas as pd from datetime import datetime, date df = pd....
  • pandas数据保存至Mysql数据库

    千次阅读 2019-04-03 16:47:27
    因为最近又在写爬虫,所以想把爬到的数据(dataframe格式)存在mysql里 终于在今天下午成功了 小试牛刀 注:需要你修改的部分: (1)db是你本地数据库的名称(你用自己本地的数据库名称) (2)password是...
  • 使用 Pandas 查看数据

    千次阅读 2018-10-19 13:02:46
    简单查看数据 dataframe.head() 数据的维度 dataframe.shape 属性 数据的属性和类型 dataframe.dtypes 属性 统计性描述 dataframe.describe() ...数据分组分布 ...import pandas as pd # 显示数据的...
  • Pandas处理数据基本操作汇总

    千次阅读 2019-04-02 11:29:24
    本文主要介绍pandas的一些基本操作,也是用的比较频繁是操作。主要分为以下几点: 1. pandas查看数据类型等 2. pandas构建一个完整的dataframe 3. pandas取行列的3种方法 ...6. pandas数据去重 7.p...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 237,724
精华内容 95,089
关键字:

pandas如何保存数据