pandas学习记录

Series对象
1.概念及使用
一个带索引数据构成的一维数组
属性values,index

  • 索引不仅是整数,可以是任意想要的类型。
  • 索引可以不连续或者不按顺序。
    若用字典创建索引,索引默认顺序排列

```python
 import pandas as pd
population_dict = {'California': 38332521,
                   'Texas': 26448193,
                   'New York': 19651127,
                   'Florida': 19552860,
                   'Illinois': 12882135}
population = pd.Series(population_dict)
print(population)
print(population['Texas'])

在这里插入图片描述

2.创建
pd.Series(data, index=index)
data 参数支持多种数据类型,可以是列表,Numpy数组,标量,字典
3.索引对齐

import pandas as pd
import numpy as np
A=pd.Series([2,4,6],index=[0,1,2])
B=pd.Series([1,3,5],index=[1,2,3])
print(A)
print(B)
print(A+B)

缺失位置的数据,Pandas 会用 NaN 填充,表示“此处无数”。

import pandas as pd
import numpy as np
#创建series的方法
s1=pd.Series([1,2,3,'a'])#1.使用数据列表创建
print(s1)
print(s1.index)
print(s1.values)
#2.创建具有标签索引的series
s2=pd.Series([1,2,3,'a'],index=['a','b','c','d'])
print(s2.index)
#3.使用python字典创建series
sdata={'a':100,'b':200,'c':300}
s3=pd.Series(sdata)
print(s3)
#访问方法
print(s3)
print(s3['a'])
print("多个")
print(s3[['a','b']])

DataFrame对象
表格型的数据结构,既有行索引(保存在index)又有列索引(保存在columns)

data = {
    'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
    'year':[2000,2001,2002,2001,2002],
    'pop':[1.5,1.7,3.6,2.4,2.9]
}
frame = pd.DataFrame(data)

在这里插入图片描述
3.索引对齐类似Series
4.与Series的通用运算 让一个二维数组减去自身的一行数据

import pandas as pd
import numpy as np
rng=np.random.RandomState(42)
A=rng.randint(10,size=(3,4))
df=pd.DataFrame(A,columns=list('QRST'))
print(df)
print(df-df.iloc[0])
print(A)
A=A-A[0]
print(A)

在这里插入图片描述

import pandas as pd
import numpy as np
#多个字典序列创建dataframe
data={'state':['ohio','ohio','ohio','N','M'],
      'year':[2000,2002,2003,3,4],
      'pop':[1.5,1.7,2.4,3.7,3.8]}
df=pd.DataFrame(data)
# print(df)
#dataframe查询series
#查询一行,一列,返回pd.Series
#查询多行,返回pd.DataFrame
print(df['year'])
print(df[['year','pop']])
#查询列
print("查询列")
print(df.loc[1])
print(df.loc[1:3])#此处的切片左右都包含

Index对象
类似数组的操作:索引获取值,切片,有与numpy数组相似的属性(如size shape ndim dtype),不同在于Index对象的索引不可变,如不能ind[1]=0
可以用来做一些集合操作

import pandas as pd
indA=pd.Index([1,3,5,7,9])
indB=pd.Index([2,3,5,7,11])
print(indA&indB)
print(indA|indB)
print(indA^indB)

在这里插入图片描述

读取各类文件

import pandas as pd
import numpy as np
#CSV,TSV,TXT 读取方法pd.read_csv
#csv文件
# ratings=pd.read_csv("Affairs.csv")
# print(ratings.head())#查看前几行
# print(ratings.shape)#返回行数,列数
# print(ratings.columns)#列名列表
# print(ratings.index)#查看索引页
# print(ratings.dtypes)#每列的类型
#txt文件
fpath="t.txt"
pvuv=pd.read_csv(fpath,
                 sep=" ",#列分隔符
                 header=None,#指明无列名
                 names=['index','data']#自己定义列名
                 )
pvuv2=pd.read_csv(fpath)
print(pvuv)
print(pvuv2.shape)
#excel文件
fpath='data2.xlsx'
pvuv3=pd.read_excel(fpath)
print(pvuv3)
#读mysql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值