pandas python 处理_python pandas处理对象 - CSDN
精华内容
参与话题
  • python使用pandas处理大数据节省内存技巧

    万次阅读 多人点赞 2017-11-10 12:49:20
    一般来说,用pandas处理小于100兆的数据,性能不是问题。当用pandas处理100兆至几个G的数据时,将会比较耗时,同时会导致程序因内存不足而运行失败。 当然,像Spark这类的工具能够胜任处理100G至几个T的大数据集,...

    一般来说,用pandas处理小于100兆的数据,性能不是问题。当用pandas来处理100兆至几个G的数据时,将会比较耗时,同时会导致程序因内存不足而运行失败。

    当然,像Spark这类的工具能够胜任处理100G至几个T的大数据集,但要想充分发挥这些工具的优势,通常需要比较贵的硬件设备。而且,这些工具不像pandas那样具有丰富的进行高质量数据清洗、探索和分析的特性。对于中等规模的数据,我们的愿望是尽量让pandas继续发挥其优势,而不是换用其他工具。

    本文我们讨论pandas的内存使用,展示怎样简单地为数据列选择合适的数据类型,就能够减少dataframe近90%的内存占用。

    处理棒球比赛记录数据

    我们将处理130年的棒球甲级联赛的数据,数据源于

    Retrosheet(http://www.retrosheet.org/gamelogs/index.html)

    原始数据放在127个csv文件中,我们已经用csvkit

    (https://csvkit.readthedocs.io/en/1.0.2/)

    https://data.world/dataquest/mlb-game-logs

    我们从导入数据,并输出前5行开始:

    我们将一些重要的字段列在下面:

    • date- 比赛日期

    • v_name- 客队名

    • v_league- 客队联赛

    • h_name- 主队名

    • h_league- 主队联赛

    • v_score- 客队得分

    • h_score- 主队得分

    • v_line_score- 客队线得分, 如010000(10)00.

    • h_line_score- 主队线得分, 如010000(10)0X.

    • park_id- 主办场地的ID

    • attendance- 比赛出席人数

    我们可以用Dataframe.info()方法来获得我们dataframe的一些高level信息,譬如数据量、数据类型和内存使用量。

    这个方法默认情况下返回一个近似的内存使用量,现在我们设置参数memory_usage‘deep’来获得准确的内存使用量:

    我们可以看到它有171907行和161列。pandas已经为我们自动检测了数据类型,其中包括83列数值型数据和78列对象型数据。对象型数据列用于字符串或包含混合数据类型的列。

    由此我们可以进一步了解我们应该如何减少内存占用,下面我们来看一看pandas如何在内存中存储数据。

    Dataframe对象的内部表示

    在底层,pandas会按照数据类型将列分组形成数据块(blocks)。下图所示为pandas如何存储我们数据表的前十二列:

    可以注意到,这些数据块没有保持对列名的引用,这是由于为了存储dataframe中的真实数据,这些数据块都经过了优化。有个BlockManager类

    会用于保持行列索引与真实数据块的映射关系。他扮演一个API,提供对底层数据的访问。每当我们查询、编辑或删除数据时,dataframe类会利用BlockManager类接口将我们的请求转换为函数和方法的调用。

    每种数据类型在pandas.core.internals模块中都有一个特定的类。pandas使用ObjectBlock类来表示包含字符串列的数据块,用FloatBlock类来表示包含浮点型列的数据块。对于包含数值型数据(比如整型和浮点型)的数据块,pandas会合并这些列,并把它们存储为一个Numpy数组(ndarray)。Numpy数组是在C数组的基础上创建的,其值在内存中是连续存储的。基于这种存储机制,对其切片的访问是相当快的。

    由于不同类型的数据是分开存放的,我们将检查不同数据类型的内存使用情况,我们先看看各数据类型的平均内存使用量:

    由于不同类型的数据是分开存放的,我们将检查不同数据类型的内存使用情况,我们先看看各数据类型的平均内存使用量:

    我们可以看到内存使用最多的是78个object列,我们待会再来看它们,我们先来看看我们能否提高数值型列的内存使用效率

    选理解子类(Subtypes)

    刚才我们提到,pandas在底层将数值型数据表示成Numpy数组,并在内存中连续存储。这种存储方式消耗较少的空间,并允许我们较快速地访问数据。由于pandas使用相同数量的字节来表示同一类型的每一个值,并且numpy数组存储了这些值的数量,所以pandas能够快速准确地返回数值型列所消耗的字节量。

    pandas中的许多数据类型具有多个子类型,它们可以使用较少的字节去表示不同数据,比如,float型就有float16float32float64这些子类型。这些类型名称的数字部分表明了这种类型使用了多少比特来表示数据,比如刚才列出的子类型分别使用了2、4、8个字节。下面这张表列出了pandas中常用类型的子类型:

    一个int8类型的数据使用1个字节(8位比特)存储一个值,可以表示256(2^8)个二进制数值。这意味着我们可以用这种子类型去表示从-128到127(包括0)的数值。

    我们可以用numpy.iinfo类来确认每一个整型子类型的最小和最大值,如下

    这里我们还可以看到uint(无符号整型)和int(有符号整型)的区别。两者都占用相同的内存存储量,但无符号整型由于只存正数,所以可以更高效的存储只含正数的列。

    用子类型优化数值型列

    我们可以用函数pd.to_numeric()来对数值型进行向下类型转换。我们用DataFrame.select_dtypes来只选择整型列,然后我们优化这种类型,并比较内存使用量。

    我们看到内存用量从7.9兆下降到1.5兆,降幅达80%。这对我们原始dataframe的影响有限,这是由于它只包含很少的整型列。

    同理,我们再对浮点型列进行相应处理:

    我们可以看到所有的浮点型列都从float64转换为float32,内存用量减少50%。

    我们再创建一个原始dataframe的副本,将其数值列赋值为优化后的类型,再看看内存用量的整体优化效果。

    可以看到通过我们显著缩减数值型列的内存用量,我们的dataframe的整体内存用量减少了7%。余下的大部分优化将针对object类型进行

    在这之前,我们先来研究下与数值型相比,pandas如何存储字符串。

    选对比数值与字符的储存

    object类型用来表示用到了Python字符串对象的值,有一部分原因是Numpy缺少对缺失字符串值的支持。因为Python是一种高层、解析型语言,它没有提供很好的对内存中数据如何存储的细粒度控制。

    这一限制导致了字符串以一种碎片化方式进行存储,消耗更多的内存,并且访问速度低下。在object列中的每一个元素实际上都是存放内存中真实数据位置的指针。

    下图对比展示了数值型数据怎样以Numpy数据类型存储,和字符串怎样以Python内置类型进行存储的。

    图示来源并改编自Why Python Is Slow

    你可能注意到上文表中提到object类型数据使用可变(variable)大小的内存。由于一个指针占用1字节,因此每一个字符串占用的内存量与它在Python中单独存储所占用的内存量相等。我们用sys.getsizeof()来证明这一点,先来看看在Python单独存储字符串,再来看看使用pandas的series的情况。

    你可以看到这些字符串的大小在pandas的series中与在Python的单独字符串中是一样的。

    选用类别(categoricalas)类型优化object类型

    Pandas在0.15版本中引入类别类型。category类型在底层使用整型数值来表示该列的值,而不是用原值。Pandas用一个字典来构建这些整型数据到原数据的映射关系。当一列只包含有限种值时,这种设计是很不错的。当我们把一列转换成category类型时,pandas会用一种最省空间的int子类型去表示这一列中所有的唯一值。

    为了介绍我们何处会用到这种类型去减少内存消耗,让我们来看看我们数据中每一个object类型列中的唯一值个数。

    可以看到在我们包含了近172000场比赛的数据集中,很多列只包含了少数几个唯一值。

    我们先选择其中一个object列,开看看将其转换成类别类型会发生什么。这里我们选用第二列:day_of_week

    我们从上表中可以看到,它只包含了7个唯一值。我们用.astype()方法将其转换为类别类型。

    可以看到,虽然列的类型改变了,但数据看上去好像没什么变化。我们来看看底层发生了什么。

    下面的代码中,我们用Series.cat.codes属性来返回category类型用以表示每个值的整型数字。

    可以看到,每一个值都被赋值为一个整数,而且这一列在底层是int8类型。这一列没有任何缺失数据,但是如果有,category子类型会将缺失数据设为-1。

    最后,我们来看看这一列在转换为category类型前后的内存使用量。

    存用量从9.8兆降到0.16兆,近乎98%的降幅!注意这一特殊列可能代表了我们一个极好的例子——一个包含近172000个数据的列只有7个唯一值。

    这样的话,我们把所有这种类型的列都转换成类别类型应该会很不错,但这里面也要权衡利弊。首要问题是转变为类别类型会丧失数值计算能力,在将类别类型转换成真实的数值类型前,我们不能对category列做算术运算,也不能使用诸如Series.min()Series.max()等方法。

    对于唯一值数量少于50%的object列,我们应该坚持首先使用category类型。如果某一列全都是唯一值,category类型将会占用更多内存。这是因为这样做不仅要存储全部的原始字符串数据,还要存储整型类别标识。有关category类型的更多限制,参看pandas文档。

    下面我们写一个循环,对每一个object列进行迭代,检查其唯一值是否少于50%,如果是,则转换成类别类型。

    更之前一样进行比较:

    这本例中,所有的object列都被转换成了category类型,但其他数据集就不一定了,所以你最好还是得使用刚才的检查过程。

    本例的亮点是内存用量从752.72兆降为51.667兆,降幅达93%。我们将其与我们dataframe的剩下部分合并,看看初始的861兆数据降到了多少。

    耶,看来我们的进展还不错!我们还有一招可以做优化,如果你记得我们刚才那张类型表,会发现我们数据集第一列还可以用datetime类型来表示。

    你可能还记得这一列之前是作为整型读入的,并优化成了uint32。因此,将其转换成datetime会占用原来两倍的内存,因为datetime类型是64位比特的。将其转换为datetime的意义在于它可以便于我们进行时间序列分析。

    转换使用pandas.to_datetime()函数,并使用format参数告之日期数据存储为YYYY-MM-DD格式。

    在数据读入的时候设定数据类型

    目前为止,我们探索了一些方法,用来减少现有dataframe的内存占用。通过首先读入dataframe,再对其一步步进行内存优化,我们可以更好地了解这些优化方法能节省多少内存。然而,正如我们之前谈到,我们通常没有足够的内存去表达数据集中的所有数据。如果不能在一开始就创建dataframe,我们怎样才能应用内存节省技术呢?

    幸运的是,我们可以在读入数据集的时候指定列的最优数据类型。pandas.read_csv()函数有一些参数可以做到这一点。dtype参数接受一个以列名(string型)为键字典、以Numpy类型对象为值的字典。

    首先,我们将每一列的目标类型存储在以列名为键的字典中,开始前先删除日期列,因为它需要分开单独处理。

    现在我们使用这个字典,同时传入一些处理日期的参数,让日期以正确的格式读入。

    通过对列的优化,我们是pandas的内存用量从861.6兆降到104.28兆,有效降低88%。

    分析棒球比赛

    现在我们有了优化后的数据,可以进行一些分析。我们先看看比赛日的分布情况。

    我们可以看到,1920年代之前,周日棒球赛很少是在周日的,随后半个世纪才逐渐增多。

    我们也看到最后50年的比赛日分布变化相对比较平稳。

    我们来看看比赛时长的逐年变化。

    看来棒球比赛时长从1940年代之后逐渐变长。

    总结

    我们学习了pandas如何存储不同的数据类型,并利用学到的知识将我们的pandas dataframe的内存用量降低了近90%,仅仅只用了一点简单的技巧:

    • 将数值型列降级到更高效的类型

    • 将字符串列转换为类别类型

    通过对列的优化,我们是pandas的内存用量从861.6兆降到104.28兆,有效降低88%。

    原文链接:https://www.dataquest.io/blog/pandas-big-data/

    展开全文
  • 利用Python处理Excel数据——pandas

    千次阅读 多人点赞 2020-01-20 19:07:55
    新建一个excel表格(table...import pandas as pd import numpy as np 二、读取数据 df = pd.read_excel('table1.xlsx') # 相对路径 # df = pd.read_excel(r'E:\Anaconda\hc\dataScience\table1.csv') # 绝对路径...

    新建一个excel表格(table1.csv)用于案例讲解:

    一、导库

    import pandas as pd
    import numpy as np

    二、读取数据

    df = pd.read_excel('table1.xlsx') # 相对路径
    # df = pd.read_excel(r'E:\Anaconda\hc\dataScience\table1.csv') # 绝对路径

    三、显示数据

    1.显示数据的行与列数

    df.shape
    (6, 5)

    2.显示数据格式dtpyes

    df.dtypes
    Name      object
    Age        int64
    Sex        int64
    Class      int64
    Score    float64
    dtype: object

    3.显示列名

    df.columns
    Index(['Name', 'Age', 'Sex', 'Class', 'Score'], dtype='object')

    4.显示前数据前2行

    df.head(2)
      Name Age Sex Class Score
    0 Tom 19 1 162061 80.0
    1 Jack 20 1 152051 90.0

    5.显示数据后3行

    df.tail(3)
      Name Age Sex Class Score
    3 Tony 18 0 170462 90.0
    4 Tim 19 0 162051 NaN
    5 Bob 22 1 132022 80.0

    6.显示数据唯一值(unique函数)

    df['Score'].unique()
    array([ 80.,  90., 100.,  nan])

    7.对第几行数据不读取

    # 没有读取第2行
    df1 = pd.read_excel('table1.csv',skiprows=[2] ) 
    df1
      Name Age Sex Class Score
    0 Tom 19 1 162061 80.0
    1 Alan 18 1 170461 100.0
    2 Tony 18 0 170462 90.0
    3 Tim 19 0 162051 NaN
    4 Bob 22 1 132022 80.0

    8.对缺失值进行识别

    # 所有缺失值显示为True
    df.isnull()
      Name Age Sex Class Score
    0 False False False False False
    1 False False False False False
    2 False False False False False
    3 False False False False False
    4 False False False False True
    5 False False False False False

    四、清洗数据

    1.删除空值 (dropna函数)

    df2 = df.dropna(how='any')
    df2
      Name Age Sex Class Score
    0 Tom 19 1 162061 80.0
    1 Jack 20 1 152051 90.0
    2 Alan 18 1 170461 100.0
    3 Tony 18 0 170462 90.0
    5 Bob 22 1 132022 80.0

    2.填充空值(fillna函数)

    df3 = df.fillna(value=0)
    df3
      Name Age Sex Class Score
    0 Tom 19 1 162061 80.0
    1 Jack 20 1 152051 90.0
    2 Alan 18 1 170461 100.0
    3 Tony 18 0 170462 90.0
    4 Tim 19 0 162051 0.0
    5 Bob 22 1 132022 80.0

    3.用均值对空值进行填充

    df4 = df['Score'].fillna(df['Score'].mean())
    df4
    0     80.0
    1     90.0
    2    100.0
    3     90.0
    4     88.0
    5     80.0
    Name: Score, dtype: float64

    4.更改数据格式

    df1['Score'].astype('int64')
    0     80
    1     90
    2    100
    3     90
    5     80
    Name: Score, dtype: int64

    (注:如果存在空值,更改数据格式会报错!)

    5.更改列名

    df5 = df.rename(columns={'Score': 'score'})
    df5
      Name Age Sex Class score
    0 Tom 19 1 162061 80.0
    1 Jack 20 1 152051 90.0
    2 Alan 18 1 170461 100.0
    3 Tony 18 0 170462 90.0
    4 Tim 19 0 162051 NaN
    5 Bob 22 1 132022 80.0

    6.对列表内的值进行替换(replace函数)

    df6 = df['Name'].replace('Bob', 'bob')
    df6
    0     Tom
    1    Jack
    2    Alan
    3    Tony
    4     Tim
    5     bob
    Name: Name, dtype: object

    五、数据预处理

    1.对数据进行排序

    df.sort_values(by=['Score'])
      Name Age Sex Class Score
    0 Tom 19 1 162061 80.0
    5 Bob 22 1 132022 80.0
    1 Jack 20 1 152051 90.0
    3 Tony 18 0 170462 90.0
    2 Alan 18 1 170461 100.0
    4 Tim 19 0 162051 NaN

    (注:默认升序,且空值在后面)

    2.数据分组

    ①单一条件分组

    # 如果Score列的值>=85,Score列显示high,否则显示low
    # group列为增加列
    df['group'] = np.where(df['Score'] > 85,'high','low')
    df
      Name Age Sex Class Score group
    0 Tom 19 1 162061 80.0 low
    1 Jack 20 1 152051 90.0 high
    2 Alan 18 1 170461 100.0 high
    3 Tony 18 0 170462 90.0 high
    4 Tim 19 0 162051 NaN low
    5 Bob 22 1 132022 80.0 low

    ②多个条件分组

    # 利用loc函数,进行多列查询
    # sign为增加列
    df.loc[(df['Sex'] == 1) & (df['Age']>= 19), 'sign']=1
    df
      Name Age Sex Class Score group sign
    0 Tom 19 1 162061 80.0 low 1.0
    1 Jack 20 1 152051 90.0 high 1.0
    2 Alan 18 1 170461 100.0 high NaN
    3 Tony 18 0 170462 90.0 high NaN
    4 Tim 19 0 162051 NaN low NaN
    5 Bob 22 1 132022 80.0 low 1.0

    六、数据提取

    1.按标签提取(loc函数)

    df.loc[0:3]
      Name Age Sex Class Score group sign
    0 Tom 19 1 162061 80.0 low 1.0
    1 Jack 20 1 152051 90.0 high 1.0
    2 Alan 18 1 170461 100.0 high NaN
    3 Tony 18 0 170462 90.0 high NaN

    2.按位置进行提取(iloc函数)

    ①按区域提取

    df.iloc[:4, :5]
      Name Age Sex Class Score
    0 Tom 19 1 162061 80.0
    1 Jack 20 1 152051 90.0
    2 Alan 18 1 170461 100.0
    3 Tony 18 0 170462 90.0

    ②按位置提取

    #[0, 2, 5] 代表指定的行,[0, 1, 5] 代表指定的列
    df.iloc[[0, 2, 5],[0, 1, 5]]
      Name Age group
    0 Tom 19 low
    2 Alan 18 high
    5 Bob 22 low

    3.按条件提取(isin与loc函数)

    ①用isin函数进行判断

    # 判断Sex是否为1
    df['Sex'].isin([1])
    0     True
    1     True
    2     True
    3    False
    4    False
    5     True
    Name: Sex, dtype: bool
     
      Name Age Class
    0 Tom 19 162061
    1 Jack 20 152051
    2 Alan 18 170461
    5 Bob 22 132022

    ②用loc函数进行判断

    # Sex为1,分数大于85
    df1.loc[(df1['Sex'] == 1) & (df1['Score'] > '85'), ['Name','Age','Class']]

    ③先判断结果,将结果为True的提取

    # 先判断Score列里是否包含80和90,然后将复合条件的数据提取出来。
    df.loc[df['Score'].isin(['80','90'])]
      Name Age Sex Class Score group sign
    0 Tom 19 1 162061 80.0 low 1.0
    1 Jack 20 1 152051 90.0 high 1.0
    3 Tony 18 0 170462 90.0 high NaN
    5 Bob 22 1 132022 80.0 low 1.0

     

     

     

     
    展开全文
  • Python使用pandas处理CSV文件

    万次阅读 多人点赞 2017-04-28 15:14:53
    Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大。CSV(Comma-Separated Values)格式的文件是指以纯文本形式存储的表格数据,这意味着不能简单的使用...

    Python中有许多方便的库可以用来进行数据处理,尤其是Numpy和Pandas,再搭配matplot画图专用模块,功能十分强大。

    CSV(Comma-Separated Values)格式的文件是指以纯文本形式存储的表格数据,这意味着不能简单的使用Excel表格工具进行处理,而且Excel表格处理的数据量十分有限,而使用Pandas来处理数据量巨大的CSV文件就容易的多了。

    我用到的是自己用其他硬件工具抓取得数据,硬件环境是在Linux平台上搭建的,当时数据是在运行脚本后直接输出在terminal里的,数据量十分庞大,为了保存获得的数据,在Linux下使用了数据流重定向,把数据全部保存到了文本文件中,形成了一个本地csv文件。

    Pandas读取本地CSV文件并设置Dataframe(数据格式)

    import pandas as pd
    import numpy as np
    df=pd.read_csv('filename',header=None,sep=' ') #filename可以直接从盘符开始,标明每一级的文件夹直到csv文件,header=None表示头部为空,sep=' '表示数据间使用空格作为分隔符,如果分隔符是逗号,只需换成 ‘,’即可。
    print df.head()
    print df.tail()
    #作为示例,输出CSV文件的前5行和最后5行,这是pandas默认的输出5行,可以根据需要自己设定输出几行的值

    数据读取示例

    图片中显示了我本地数据的前5行与最后5行,最前面一列没有标号的是行号,数据一共有13列,标号从0到12,一行显示不完全,在第9列以后换了行,并且用反斜杠“\”标注了出来。

    2017年4月28日更新
    使用pandas直接读取本地的csv文件后,csv文件的列索引默认为从0开始的数字,重定义列索引的语句如下:

    import pandas as pd
    import numpy as np
    df=pd.read_csv('filename',header=None,sep=' ',names=["week",'month','date','time','year','name1','freq1','name2','freq2','name3','data1','name4','data2'])
    print df

    此时打印出的文件信息如下,列索引已经被重命名:
    重定义CSV文件列名

    展开全文
  • Python利用pandas处理Excel数据的应用

    万次阅读 2020-09-24 14:00:09
    最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做自动化测试的时候,如果涉及到数据的读取和存储,那么而利用pandas就...

        最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做自动化测试的时候,如果涉及到数据的读取和存储,那么而利用pandas就会非常高效,基本上3行代码可以搞定你20行代码的操作!该教程仅仅限于结合柠檬班的全栈自动化测试课程来讲解下pandas在项目中的应用,这仅仅只是冰山一角,希望大家可以踊跃的去尝试和探索!

    一、安装环境:

    1:pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令是:pip install xlrd

      2:安装pandas模块还需要一定的编码环境,所以我们自己在安装的时候,确保你的电脑有这些环境:Net.4 、VC-Compiler以及winsdk_web,如果大家没有这些软件~可以咨询我们的辅导员索要相关安装工具。

      3:步骤1和2 准备好了之后,我们就可以开始安装pandas了,安装命令是:pip install pandas

    一切准备就绪,就可以开始愉快的玩耍咯!

    ps:在这个过程中,可能会遇到安装不顺利的情况,万能的度娘有N种解决方案,你这么大应该要学着自己解决问题。

    二、pandas操作Excel表单

      数据准备,有一个Excel文件:lemon.xlsx有两个表单,表单名分别为:Python 以及student,

    Python的表单数据如下所示:

     

    student的表单数据如下所示:

     

    1:在利用pandas模块进行操作前,可以先引入这个模块,如下:

    importpandas  as pd

    2:读取Excel文件的两种方式:

     

    得到的结果是一个二维矩阵,如下所示:

     

    得到的结果如下所示,也是一个二维矩阵:

     

    具体结果是怎样的,同学们可以自己一个一个的去尝试,这个结果是非常有意思的,但是同时同学们也发现了,这个数据是一个二维矩阵,对于我们去做自动化测试,并不能很顺利的处理,所以接下来,我们就会详细的讲解,如何来读取行号和列号以及每一行的内容 以及制定行列的内容。

     

    三、pandas操作Excel的行列

    1:读取指定的单行,数据会存在列表里面

     

    得到的结果如下所示:

    2:读取指定的多行,数据会存在嵌套的列表里面:

     

    3:读取指定的行列:

     

    4:读取指定的多行多列值:

     

    5:获取所有行的指定列

     

    6:获取行号并打印输出

     

    7:获取列名并打印输出

     

    8:获取指定行数的值:

     

    9:获取指定列的值:

     

    四:pandas处理Excel数据成为字典

    我们有这样的数据,

    ,处理成列表嵌套字典,且字典的key为表头名。

    实现的代码如下所示:

     

    最后得到的结果是:

     

     关于pandas的学习,今天就告一段落啦!赶紧打开pycharm跑起来!!!

    展开全文
  • PythonPandas处理excel文件

    千次阅读 2020-03-19 18:08:26
    读取excel文件,处理excel数据,生成新的excel文件
  • python处理数据,pandas 处理txt文件

    千次阅读 2019-05-21 17:54:03
    目前大多数的数据集以txt文件居多,但是我们在数据处理中,可能最终会在Excel上进行一些分析、制图, 当然也可以使用python制图包,也可以做出很精美的结果图。 此篇只是简单的读取,文件,保存到Excel中,可以做...
  • Python pandas处理csv文件

    千次阅读 2019-04-28 16:09:07
    Python pandas处理csv文件 工具:Pycharm,Win10,Python3.6.4 现有上面这样一份CSV文件,我们要对其做如下处理 1.第一列重新编序号从1开始 2.第三列数字0改成24 3.第三列之后的数据带小数的精度都设为小数点...
  • Python笔记:在Pandas处理NaN值

    万次阅读 多人点赞 2020-02-08 13:17:24
    关于NaN值 -在能够使用大型数据集训练学习算法之前,我们通常需要先清理数据, 也就是说,我们需要通过某个方法检测... - Pandas 会为缺少的值分配 NaN 值。 创建一个具有NaN值得 Data Frame import pandas a...
  • Python使用Pandas对csv文件进行数据处理

    万次阅读 多人点赞 2019-05-04 21:28:04
    估计是XAMPP套装里面全默认配置的MySQL性能不给力,又尝试用R搞一下吧结果发现光加载csv文件就要3分钟左右的时间,相当不给力啊,翻了翻万能的知乎发现了Python下的一个神器包:Pandas(熊猫们?),加载这个140多M的...
  • pythonpandas简单介绍及使用(一)

    万次阅读 多人点赞 2019-06-13 11:00:45
    一、 Pandas简介 1、Python Data Analysis Library 或 pandas 是基于NumPy...pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一...
  • PythonPandas使用教程

    万次阅读 多人点赞 2019-01-30 13:50:13
    PandasPython的一个数据分析包,该工具为解决数据分析任务而创建。 Pandas纳入大量库和标准数据模型,提供高效的操作数据集所需的工具。 Pandas提供大量能使我们快速便捷地处理数据的函数和方法。 Pandas是字典...
  • Python Pandas模块介绍

    万次阅读 2018-06-11 16:18:44
    Pandas模块是Python用于数据导入及整理的模块,对数据挖掘前期数据的处理工作十分有用。Pandas模块的数据结构主要有两:1、Series ;2、DataFrame ,下面将分别从这两方面介绍:(1) Series结构介绍和操作示例: 1.1...
  • python+pandas+时间、日期以及时间序列处理方法 先简单的了解下日期和时间数据类型及工具 python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。 datetime以...
  • 3-Python利用pandas处理Excel数据

    千次阅读 2019-05-07 20:57:37
    Python利用pandas处理Excel数据 本章节内容主要参考来源:https://www.cnblogs.com/liulinghua90/p/9935642.html 一、配置环境 1、pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令是:pip ...
  • 在数据分析领域,最热门的莫...这次拿到近亿条日志数据,千万级数据已经是关系型数据库的查询分析瓶颈,之前使用过Hadoop对大量文本进行分类,这次决定采用Python处理数据: 硬件环境 CPU:3.5 GHz Intel Core i7...
  • python安装pandas失败问题

    千次阅读 2020-05-12 10:30:36
    在处理一个阿里云天池获取的用户行为数据分析的csv文件(大约3.4G)时需要进行python处理,需要pandas进行分析,打开Pycharm进行下载pandas包发现如图种问题,无法进行pandas的安装。搜索半天发现是,由于服务器问题...
  • pythonpandas用法详解

    万次阅读 多人点赞 2018-04-04 11:59:27
    pandas是基于numpy构建的,使得数据分析工作变得更快更简单的高级数据结构和操作工具。一、pandas数据结构两个主要的数据结构:Series和DataFrame。1.1 SeriesSeries是一种类似于一维数组的对象,它由一维数组(各种...
  • python 安装pandas

    千次阅读 2019-06-24 22:52:52
    1.pandas有啥用 ...pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。 ---百度百科 2.安装 1)去这下个适...
  • Python pandas数据分析中常用方法

    万次阅读 多人点赞 2020-06-22 13:23:01
    官方教程 读取写入文件 官方IO 读取 写入 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json to_json read_msgpack (experimenta...
  • 最近由于比赛需求,需要大量的数据支持系统的功能测试。然后比较坑的是,所有的源数据都是来自Excel文件格式。... 于是就想到了我们伟大的python,可以说python这种语言用来处理批量数据实在是再好...
1 2 3 4 5 ... 20
收藏数 56,256
精华内容 22,502
关键字:

pandas python 处理