Pandas从入门到实战(day1)
Posted 啊~小 l i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas从入门到实战(day1)相关的知识,希望对你有一定的参考价值。
Pandas
Pandas读取数据&pandas数据结构
数据的读取
数据类型 | pandas读取方法 |
---|---|
csv,tsv,txxt | pd.read_csv |
excel | pd.read_excel |
mysql | pd.read_sql |
读取csv文件
import pandas as pd
fpath = "../lable/test.csv"
# 使用pandas读取csv
data = pd.read_csv(fpath)
# 读取数据的前几行
print(data.head())
# 返回形状 - 行数、列数
print(data.shape)
# 查看列名
print(data.columns)
# 查看索引
print(data.index)
# 查看每列的数据类型
print(data.dtypes)
读取txt文件
tfile = "./a.txt"
tdata = pd.read_csv(
tfile, sep=",", header=None, names=['data1','data2','data3'])
print(tdata)
tdata = pd.read_csv([文件路径], sep=[分隔符], header=[是否有头None], names=[每一列的标识])
如果已经存在了表头,header和names不需要写,自动把第一行作为表头
读取excel文件
efile = "./a,xlsx"
edata = pd.read_excel(efile)
print(edata)
读取sql
如果没有pymysql需要自己装pip install pymysql
import pymysql
conn = pymysql.connect(host='127.0.0.1', user='root', password='2001', database='db',charset='utf8')
sql = pd.read_sql("select * from goods", con=conn)
print(sql)
Pandas数据结构(DataFrame&Seires)
DataFrame:二维数据,整个表格,多行多列
Seires:一维数据,一行或者一列
Seires
Seires:类似于一维数组的对象,由一组数据(不同类型)以及一组与之相关的标签即索引组成
创建Seires
- 仅有数据列表可以产生Seires
datas = pd.Series([1, 2, 'a', 5, 'ads'])
# 左侧是索引,右侧是数据
print(datas)
# 获取索引
print(datas.index)
# 获取数据
print(datas.values)
- 创建一个带索引标签的Series
datas = pd.Series([1, 2, 'a', 5, 'ads'],
index=['11', '12', '13', '14', '15'])
print(datas)
print(datas.index)
- 使用python字典创建Series
sdata = {'a': 1, 'b': 2, 'c': 3}
sdata = pd.Series(sdata)
print(sdata)
- 依据索引查询值
print(sdata['a'])
DataFrame
- DataFrame是一个表格型的数据结构
- 每列可以是不同的值类型(数值、字符串、布尔值等)
- 既有行索引lindex,也有列索引columns
- 可以被看做由Series组成的字典创
创建 DataFrame
- 根据多个字典序列创建DataFrame
dataf = {
'style': ['red', 'yellow'],
'year': ['12', '13'],
'price': ['12', '15']
}
df = pd.DataFrame(dataf)
print(df)
print(df.columns) # 列索引
print(df.dtypes) # 数据类型
print(df.index) # 行索引
从DataFrame查询出Seires
- 查询一列、一行----返回的是pd.seiires
- 查询多行、多列----返回的是pd.DataFrame
取出一列/多列
import pandas as pd
dataf = {
'style': ['red', 'yellow'],
'year': ['12', '13'],
'price': ['12', '15']
}
df = pd.DataFrame(dataf)
print(type(df[['style', 'year']]))
print(df[['style', 'year']])
print(type(df['style']))
print(df['style'])
取出一行/多行
print(df.loc[1])
print(type(df.loc[1]))
print(df.loc[0:1])
print(type(df.loc[0:1]))
F:\\Anaconda3\\python.exe
style yellow
year 13
price 15
Name: 1, dtype: object
<class 'pandas.core.series.Series'>
style year price
0 red 12 12
1 yellow 13 15
<class 'pandas.core.frame.DataFrame'>
以上是关于Pandas从入门到实战(day1)的主要内容,如果未能解决你的问题,请参考以下文章
Java从小白到入门,Day1(java环境搭建,声明变量)
高端实战 Python数据分析与机器学习实战 Numpy/Pandas/Matplotlib等常用库