您的当前位置:首页正文

pandas数据读取(DataFrameSeries)

2021-08-12 来源:意榕旅游网
pandas数据读取(DataFrameSeries)

1、pandas数据的读取

pandas需要先读取表格类型的数据,然后进⾏分析数据说明

说明

pandas读取⽅法

csv、⽤逗号分割、tab分割

pd.read_csv

tsv、txt的纯⽂本⽂件excelmysql

#本代码⽰例:

微软xls或者xlsx⽂件关系向数据库表

pd.read_excelpd.read_sql

import pandas as pd #导⼊包

#1读取csv,使⽤默认的标题⾏、逗号分割fpath = “要打开⽂件的路径”

ratings = pd.read_csv(fpath) #使⽤pd.read_csv读取数据ratings.head() #查看前⼏⾏(默认5⾏)

ratings.shape #查看数据的形状,返回(⾏数、列数)ratings.columns # 查看列名列表ratings.index #查看索引列

ratings.dtypes #查看每⼀列的数据类型#1.2读取txt⽂件,⾃⼰制定分隔符、列名fpath = “⽂件的路径”pvuv = pd.read_csv( fpath,

sep = “\”, #l列的分隔符 header = None,

names = ['pdate','pv','uv'])

print(pvuv)

#读取excel⽂件

fpath = “⽂件的路径”

pvuv = pd.read_excel(fpath)print(pvuv)

#读取Mysql数据库import pmysql

conn = pmysql.connect( host = '127.0.0.1', user = 'root',

password = '123456', database = 'test', charest = 'utf8')

mysql_page = pd.read_sql(\"select * from 表名\",con=conn)print(mysql_page)

2、pandas数据结构(DataFrame & Series)DataFrame:⼆维数据,整个表格,多⾏多列df.columns 查询列df.index 查询⾏

Series:⼀维数据,⼀⾏或者⼀列

#1、 Series#2、DataFrame

#3、从DAtaFrame中查询出Seriesimport pandas as pd import numpy as np

#series是⼀种类似于⼀维数组的对象,它由⼀组数据(不同数据类型)以及⼀组与之相关的数#据标签(即索引)组成。#1.1仅有数据列表即可产⽣最简单的seriess1 = pd.Series([1,'a',5.2,6])

# print(s1) #左侧为索引,右侧为数据

print(s1.index) #获取索引 结果:RangeIndex(start=0, stop=4, step=1)print(s1.values) #获取数据 结果:[1 'a' 5.2 6]#1.2 创建⼀个具有标签索引的Series

s2 = pd.Series([1,'a',5.2,6],index = ['d','b','a','c'])print(s2)

print(s2.index) #Index(['d', 'b', 'a', 'c'], dtype='object')

#1.3 使⽤python字典创建Series

sdata = {'ohio':3500,'Texas':72000,'Oregs':16000,'Ggrqg':5000}s3 = pd.Series(sdata)print(s3)

#1.4 根据标签索引查询数据(类似python的字典dict)print(s2['a'])#5.2

print(type(s2['a']))#print(s2[['b','a']])

#2 DataFrame

# DataFrame是⼀个表格型的数据结构

# 每⼀列可以是不同的值类型(数值、字符串、布尔值)# 既有⾏索引index,也有列索引columns# 可以被看由Series组成的字典

#2.1根据多个字典序列创建dataframedata = {

'state':['ofjg','sdfg','werw','wrgwer','rgwg'], 'year':[2000,3000,5000,6000,9000], 'pop':[1.5,1.7,1.6,5.3,3.5]}

df = pd.DataFrame(data)print(df)

#3.从DataFrame中查询Series

# 如果只查询⼀列,返回的是pd.Series

# 如果查询多⾏、多列,返回的是pd.DataFrame# 3.1 查询⼀列 结果是⼀个pd.Seriesprint(df['year'])

print(type(df['year']))## 3.2 查询多列,结果是⼀个pd.DataFrame

print(df[['year','pop']])

print(type(df[['year','pop']]))#

# 3.3 查询⼀⾏,结果是⼀个pd.Seriesprint(df.loc[1])

print(type(df.loc[1]))#

# 3.4 查询多⾏,结果是⼀个pd.DataFrameprint(df.loc[1:3])

print(type(df.loc[1:3]))#

因篇幅问题不能全部显示,请点此查看更多更全内容