高效Python之Pandas

api参考:https://pandas.pydata.org/pandas-docs/version/0.25/reference/index.html

Pandas是python在统计中应用非常广的第三方库,也提供了很多简单易用的API,其主要有两大数据结构: 和

1. Series和DataFrame

  • Series实际上就是常用的list一种升级版本。一般来说,list索引都是类似1,2,3,4....这样的数组下标,series默认也是这样,但是它可以设置索引值。
    eg:
#第一个参数data,第二个参数试自定义索引,不指定为1,2...n顺序
#seriesEg=Series([1,2,1],index=['a','b','c'])
# a    1
# b    2
# c    3
# dtype: int64
seriesEg=Series([1,2,1],['a','b','c'])
print(seriesEg) 
print(seriesEg['a'])

很容易发现Series结构实际上就是一系列的k,v组成。

  • DataFrame可以看作是数据库行列或者是excel表行列结构的一种抽象.也可以看作是由Series组成的字典类型;

dataFrameEg=DataFrame({"languageScore":[60,30,65],"mathScore":[93,96,92],"englishScore":[90,77,88]},index=["张飞","关羽","黄忠"])
print(dataFrameEg)
print(dataFrameEg["languageScore"])      #输出Series结构

#     languageScore  mathScore  englishScore
# 张飞             60         93            90
# 关羽             30         96            77
# 黄忠             65         92            88

# 张飞    60
# 关羽    30
# 黄忠    65

2. 数据操作

主要涉及:

  • 类结构化文件(xls,csv等)的导入导出
  • DataFrame的操作(删除行列,重命名,去重,数据格式,空值处理(判断isnull,删除dropna,替代fillna))
  • apply的高级操作
  • 统计函数(describe()、max、min、var、std...)
  • 数据表合并(merge的inner,outer,left,right...)
    ------更多示例可以参考页头的官网,或者访问我的python_data-start

3. pandasql操作

import pandasql as psql
import pandas as pd
df1=pd.DataFrame({"name":["张三","李四","小明"],"rank":range(10,13)})
print(df1)
# locals() or globals() variable environment
psqldf=lambda sql:psql.sqldf(sql,env=globals())
print(psqldf("select * from df1 where name='张三' or name='李四'"))

print(psql.sqldf("select rank from df1 ",env=locals()))

你可能感兴趣的:(高效Python之Pandas)