美文网首页
pandas学习&读取和写入csv,excle

pandas学习&读取和写入csv,excle

作者: 小二哥很二 | 来源:发表于2019-05-11 16:39 被阅读0次

    一、pandas学习:【Series,DataFrame】

    1、Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。

    2、DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。

    导入的包:

    from pandas import Series,DataFrame

    import pandas as pd

    # Series 就如同列表一样,一系列数据,每个数据对应一个索引值

    '''

    s=Series([1,3,'nihao','tt'],index=['old','sex','age','job'])

    print(s)

    结果:Index(['old', 'sex', 'age', 'job'], dtype='object')

    print(s.index)  #打印出起始和终点长度,以及步长print(s.values) #打印出里面的value值,列表形式展示:

    结果:[1 3 'nihao' 'tt']

    print(s)  #展示类似键值对左右对齐方式,index为索引标print('#'*40 + '#'*40)

    结果:

    old          1

    sex         3

    age        nihao

    job           tt

    dtype: object

    :可以按照条件搜索print(s.index=['old','sex','age','job','he']),没有的显示为None

    print(s['old'])  #索引标识为old的值

    print(pd.isnull(s)) #查看值是否为空,类型布尔,如果为空,则打印为true'''

    结果:

    old     False

    sex    False

    age    False

    job     False

    dtype: bool

    =========================================================================

    #DataFrame是一种二维的数据结构,column为索引列

    data={'name':['google','baidu','yahoo'],'marks':[100,200,300],'price':[1,2,3]}

    f=DataFrame(data,columns=['name','price','marks'],index=['001','002','003'])

    print(f)

    结果:没有的值为None

                    name      price      marks

    001          google      1            100

    002           baidu       2            200

    003           yahoo      3            300

    newdata= {"lang":{"firstline":"python","secondline":"java"}, "price":{"firstline":8000}}

    #lang和price为列,firstline和secondline分别为lang的第一行和第二行,同理price,没有的值为None

    f1=DataFrame(newdata,columns=['lang','price'])

    print(f1)

    结果:

                            lang              price

    firstline           python          8000.0

    secondline     java                 NaN


    二、**pandas读写csv文件

    1.写入:

    ```

    from pandas import DataFrame,Series

    import pandas as pd

    import csv

    data = {"name":['google','baidu','yahoo'],"marks":[100,200,300],"price":[1,2,3]}

    f1=DataFrame(data,columns=['name','price','marks'],index=['a','b','c'])

    print(f1)

    df=pd.DataFrame(data)

    df.to_csv('pandas.csv',header=True,index=True)          #header可以自定义[ ]

    ```

    2.读取

    readers=pd.read_csv('pandas.csv')

    print(readers)


    三、pandas读取和写入EXCLE

    1.默认读取

    import pandas as pd

    df=pd.read_excel('test.xlsx',sheet_name='python')    #默认读取第一个表

    data=df.head()                                                            #默认读取前5行的数据,head(10),读取前10行

    print(data)


    2.指定读取单行,和多行,数据会存在列表里

    df=pd.read_excel('test.xlsx')

    data=df.ix[0].values                                    #0代表第一行,没有表头

    data2=df.ix[[1,2]]                                         #不加values就是原数据结构展示,ix[1,2]代表读取第2行第3列

    data3=df.ix[2,2]                                           #读取第三行,第三列

    print(data)

    print(data2)

    print(data3)


    3.读取指定的多行多列值

    df=pd.read_excel('test.xlsx')

    data=df.ix[[1,2],['title','data']]                                      #读取第2,3行的,title和data列的值

    data2=df.ix[:,['title','data']]                                          #获取所有行的 指定列

    print(data)

    print(data2)

    print(df.columns.values)                                              #输出所有列的值,需要自己手动敲,没有提示方法

    相关文章

      网友评论

          本文标题:pandas学习&读取和写入csv,excle

          本文链接:https://www.haomeiwen.com/subject/wraxaqtx.html