pandas最快入门(一)

pandas读取文件

读取csv文件
import pandas as pd
#读取csv文件
fpath="test.csv"
df=pd.read_csv(fpath,encoding='gbk')
#查看前几行
df.head()
编号 操作方式 催化剂总质量(mg) HAP:Co/SiO2 Co/SiO2(wt%) 乙醇浓度(ml/min) 温度 乙醇转化率(%) 乙烯选择性(%) C4烯烃选择性(%) 乙醛选择性(%) 碳数为4-12脂肪醇选择性(%) 甲基苯甲醛和甲基苯甲醇选择性(%) 其他生成物的选择性(%) C4烯烃收率(乙醇转化率*C4烯烃选择性)
0 1 1 400 1.0 1.0 1.68 250 2.07 1.17 34.05 2.41 52.59 0.00 9.78 0.703871
1 1 1 400 1.0 1.0 1.68 275 5.85 1.63 37.43 1.42 53.21 0.00 6.31 2.190299
2 1 1 400 1.0 1.0 1.68 300 14.97 3.02 46.94 4.71 35.16 1.00 9.17 7.026398
3 1 1 400 1.0 1.0 1.68 325 19.68 7.97 49.70 14.69 15.16 2.13 10.35 9.781635
4 1 1 400 1.0 1.0 1.68 350 36.80 12.46 47.21 18.66 9.22 1.69 10.76 17.373760
#查看形状
df.shape
(114, 15)
#查看属性
df.columns
Index(['编号', '操作方式', '催化剂总质量(mg)', 'HAP:Co/SiO2', 'Co/SiO2(wt%)',
       '乙醇浓度(ml/min)', '温度', '乙醇转化率(%)', '乙烯选择性(%)', 'C4烯烃选择性(%)', '乙醛选择性(%)',
       '碳数为4-12脂肪醇选择性(%)', '甲基苯甲醛和甲基苯甲醇选择性(%)', '其他生成物的选择性(%)',
       'C4烯烃收率(乙醇转化率*C4烯烃选择性)'],
      dtype='object')
#查看索引
df.index
RangeIndex(start=0, stop=114, step=1)
读取txt文件
#当header=None即没有标题时可以手动指定names=
fpath='book.txt'
df=pd.read_csv(fpath,
              sep="\t",
              #header=True,
              #names=['x','y','z']
              )
df
序号 书名 分类
0 1 HTML5+CSS3+JavaScript从入门到精通(标准版) ...
1 2 JavaWeb项目开发实战入门(全彩版) ...
2 3 案例学WEB前端开发 ...
3 4 一看就停不下来的中国史 ...
4 5 显微镜下的大明 ...
5 ​ ...
读取excel文件
fpath='test.xlsx'
df=pd.read_excel(fpath)
df.head()
编号 操作方式 催化剂总质量(mg) HAP:Co/SiO2 Co/SiO2(wt%) 乙醇浓度(ml/min) 温度 乙醇转化率(%) 乙烯选择性(%) C4烯烃选择性(%) 乙醛选择性(%) 碳数为4-12脂肪醇选择性(%) 甲基苯甲醛和甲基苯甲醇选择性(%) 其他生成物的选择性(%) C4烯烃收率(乙醇转化率*C4烯烃选择性)
0 1 1 400 1.0 1.0 1.68 250 2.067169 1.17 34.05 2.41 52.59 0.00 9.78 0.703871
1 1 1 400 1.0 1.0 1.68 275 5.851721 1.63 37.43 1.42 53.21 0.00 6.31 2.190299
2 1 1 400 1.0 1.0 1.68 300 14.968891 3.02 46.94 4.71 35.16 1.00 9.17 7.026398
3 1 1 400 1.0 1.0 1.68 325 19.681359 7.97 49.70 14.69 15.16 2.13 10.35 9.781635
4 1 1 400 1.0 1.0 1.68 350 36.801017 12.46 47.21 18.66 9.22 1.69 10.76 17.373760
读取mysql表
#此处只给出范例,请连接自己的数据库再使用
import pymssql
#连接信息
con=pymssql.connect(host='127.0.0.1',
                   user='root',
                   password='1234567',
                   database='test',
                   charset='utf-8'
                   )
#sql语句+连接信息
df=pd.read_sql("select * from teaches",con=con)
df.head()

panda数据结构

DataFrame:二维数据,整个表格,部分矩表二维表格也是DataFrame

Series:一维数据,行或者列,部分行列也是Series

列表创建series
s1=pd.Series([1,'a',5.2,7],
            index=['b','c','d','e'])
s1
b      1
c      a
d    5.2
e      7
dtype: object
s1.index
Index(['b', 'c', 'd', 'e'], dtype='object')
字典创建series
#使用字典方式创建,可以使用字典方式访问
dict={'a':1,
     'b':2,
      'c':3,
      'd':4}
s=pd.Series(dict)
s
a    1
b    2
c    3
d    4
dtype: int64
print(s['a'])
print(type(s['a']))
print(s[['a','b']])
print(type(s[['a','b']]))
1
<class 'numpy.int64'>
a    1
b    2
dtype: int64
<class 'pandas.core.series.Series'>
多个字典创建DataFrame
dict={'a':[1,9,1],
     'b':[2,1,7],
      'c':[1,2,5],
      'd':[6,3,0]}
df=pd.DataFrame(dict)
df
a b c d
0 1 2 1 6
1 9 1 2 3
2 1 7 5 0
df.columns
Index(['a', 'b', 'c', 'd'], dtype='object')
df.index
RangeIndex(start=0, stop=3, step=1)
df.dtypes
a    int64
b    int64
c    int64
d    int64
dtype: object
DataFrame中查询Series
#查询单列是Series
df['a']
0    1
1    9
2    1
Name: a, dtype: int64
#查询多列(行)也是DataFrame
df[['a','d']]
a d
0 1 6
1 9 3
2 1 0
#查询一行
df.loc[1]
a    9
b    1
c    2
d    3
Name: 1, dtype: int64
#查询多行
df.loc[1:3]
a b c d
1 9 1 2 3
2 1 7 5 0

源代码和相应数据下载请点击 https://github.com/MiaoChenglin125/Data-Acquisition/tree/master/pandas%E6%93%8D%E4%BD%9C

上一篇:pytorch 基础练习及螺旋数据分类


下一篇:pandas series