pandas2·——>DataFrame(创建、索引、运算)



DataFrame类型由共用相同索引的一组列组成
DataFrame是一个表格型的数据类型,每列值类型可以不同
DataFrame既有行索引、也有列索引
DataFrame常用于表达二维数据,但可以表达多维数据
DataFrame是二维带“标签”数组



创建:
• 二维ndarray对象
• 由一维ndarray、列表、字典、元组或Series构成的字典
• Series类型
• 其他的DataFrame类型

#从列表类型的字典创建
h={'one':[1,2,3,4],'two':[5,6,7,8]}
h1=pd.DataFrame(h,index=['a','b','c','c'])
   one  two
a    1    5
b    2    6
c    3    7
c    4    8



索引

自动列索引
e=pd.DataFrame(np.arange(10).reshape(2,5))
#print(e)
   0  1  2  3  4
0  0  1  2  3  4
1  5  6  7  8  9

自定义索引
mm={'one':b,'two':c}
f=pd.DataFrame(mm)
#print(f)
   one   two
a  100   2.0
b  200  22.0
c  200  12.0
d    4   NaN

数据根据行列索引自动补齐
g=pd.DataFrame(mm,index=['b','c','d'],columns={'one','three'})
#print(g)
  three  one
b   NaN  200
c   NaN  200
d   NaN    4

普通索引
h={'one':[1,2,3,4],'two':[5,6,7,8]}
h1=pd.DataFrame(h,index=['a','b','c','c'])
#print(h1)
#print(h1.two)
#print(h1.loc['a'])
   one  two
a    1    5
b    2    6
c    3    7
c    4    8

重排索引
.reindex()能够改变或重排Series和DataFrame索引
.reindex(index=None, columns=None,)的参数说明
index, columns  新的行列自定义索引
fill_value      重新索引中,用于填充缺失位置的值
metho           填充方法, ffill当前值向前填充,bfill向后填充
limit           最大填充量
copy            默认True,生成新的对象,False时,新旧相等不复制

h2=pd.DataFrame(h,index=['a','b','c','d'])
h2=h2.reindex(index=['d','c','b','a'])
h2=h2.reindex(columns=['two','one'])
#print(h2)
   two  one
d    8    4
c    7    3
b    6    2
a    5    1


索引类型的常用方法
.append(idx)        连接另一个Index对象,产生新的Index对象
.diff(idx)          计算差集,产生新的Index对象
.intersection(idx)  计算交集
.union(idx)         计算并集
.delete(loc)        删除loc位置处的元素
.insert(loc,e)      在loc位置增加一个元素e
.drop()             能够删除Series和DataFrame指定行或列索引



运算

算术运算
算术运算根据行列索引,补齐后运算,运算默认产生浮点数
补齐时缺项填充NaN (空值)
二维和一维、一维和零维间为广播运算
采用+*/符号进行的二元运算产生新的对象


方法形式运算
.add(d, **argws) 类型间加法运算,可选参数
.sub(d, **argws) 类型间减法运算,可选参数
.mul(d, **argws) 类型间乘法运算,可选参数
.div(d, **argws) 型间加法运算,可选参数

fill_value参数替代NaN,替代后参与运算
a.dd(b,fill_value=0)-->a+b如果产生非数用0代替

不同维度间为广播运算,一维Series默认在轴1参与运算
使用运算方法可以令一维Series参与轴0运算


比较运算
比较运算只能比较相同索引的元素,不进行补齐
二维和一维、一维和零维间为广播运算
采用>< >= <= == !=等符号进行的二元运算产生布尔对象

同维度运算尺寸一致
不同维度,广播运算,默认在1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值