Pandas基础

1.Pandas简介

Pandas基于NumPy的一种工具,纳入了大量库和一些标准的数据模型。
Pandas基于两种数据类型:Series与dataframe

2.Series对象

Series类似一维数组,Series可以自定义标签,也就是索引(index)。

import pandas as pd
from pandas import Series,DataFrame
import numpy as np

#创建Series
sel=Series([1,2,3,4])	#不输入索引使,默认索引为[0,1,...,len(data)-1]
sel=Series(data=[1,2,3,4],index=['a','b','c','d'])
sel=Series(data=[1,2,3,4],index=list('abcd'))

sel=pd.Series([1,2,3,4],['a','b','c','d'])
print(sel)
#获取数据
print(sel.values)
#获取索引
print(sel.index)
#获取索引和值对
print(list(sel.iteritems()))

#将字典转为Series
se3=Series(dict)

在这里插入图片描述

数据索引

sel=Series(data=[1,2,3,4],index=list('abcd'))
print('索引下标',sel['c'])
print('位置下表',sel[2])

#获取不连续的数据
print('索引下标',sel[['c','a']])
print('位置下表',sel[[1,3]])

#切片
print('位置切片',sel[1:3])	#左闭右开
print('索引切片',sel['b':'d'])	#左右都包含

在这里插入图片描述

索引赋值与计算

sel.index=list('dcba')
#reindex会重新索引后返回一个新的Series

#Series将基于index进行计算,支持np的数组运算

3.DataFrame

#1. 创建DataFrame
# 创建二维数组
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
df1=pd.DataFrame(np.arange(9).reshape(3,3),index=['bj','sh','gz'],columns=['a','b','c'])
print(df1)
print(df1.index.tolist())

df3=df1.rename(index={'bj':'beijing'},columns={'a':'aa'})
print(df3)

在这里插入图片描述
插入和修改数据

df1=pd.DataFrame({'X':range(5),'Y':range(5),'S':list('abcde'),'Z':[1,1,2,2,2]})
print(df1)
print('\n')

col=df1.columns.tolist()
col.insert(1,'A')
df1=df1.reindex(columns=col)
print(df1)

df1.insert(1,'B',[2,3,4,5,99])
print(df1)
df1.iloc[1]=[0,0,0,0,0,0]

print(df1)

在这里插入图片描述
连接两个DataFrame

df1=pd.DataFrame(np.arange(6).reshape(3,2),columns=['four','five'])
df2=pd.DataFrame(np.arange(6).reshape(2,3),columns=['one','two','three'])
result=pd.concat([df1,df2],axis=1)
print(df1)
print(df2)
print(result)

在这里插入图片描述
按轴计算

df1.mean(axis=1)

在这里插入图片描述

#去除和填补空值
pd.dropna(how='all')	#默认为any即有空值就删除,all为全空删除
pd.fillna(0)	#用0填补空值,默认生成一个新的DataFrame,设置inplace=True则在原来的基础上修改

#查看和删除重复值
df.duplicated()
df.drop_duplicated() #可以指定删除行,设置inplace=True则在原来的基础上修改

#数据合并
df1.join(df2, how='left')	#未指定时按index匹配
df1.merge(df2, how='left')	#未指定时按columns中同字段名匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值