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

2019-05-11  本文已影响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)                                              #输出所有列的值,需要自己手动敲,没有提示方法

上一篇下一篇

猜你喜欢

热点阅读