Pandas从入门到实战(day1)

Posted 啊~小 l i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas从入门到实战(day1)相关的知识,希望对你有一定的参考价值。

Pandas

数据的读取

数据类型pandas读取方法
csv,tsv,txxtpd.read_csv
excelpd.read_excel
mysqlpd.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)的主要内容,如果未能解决你的问题,请参考以下文章

Pandas从入门到实战(day2)

Java从小白到入门,Day1(java环境搭建,声明变量)

高端实战 Python数据分析与机器学习实战 Numpy/Pandas/Matplotlib等常用库

Python应用实战-从pandas的角度来对比MySQL,教你如何更快更好的学习sql

10-Python3从入门到实战—基础之函数

微搭低代码从入门到实战