Python DataFrame Api整理

DataFrame是提供了很多非常强大的表格管理函数,可以方便的处理表格型数据,DataFrame可以看成每一列都是一个Series组成的表格

DataFrame初始化
import pandas as pd
a=pd.DataFrame({'one':[1,2,3,4],'two':[5,6,7,8]})
>>> one	two
0	1	5
1	2	6
2	3	7
3	4	8

#指定index
a=pd.DataFrame({'one':[1,2,3,4],'two':[5,6,7,8]},index=['a','b','c','d'])
>>>one	two
a	1	5
b	2	6
c	3	7
d	4	8
DataFrame常用函数
a=pd.DataFrame({'one':[1,2,3,4],'two':[5,6,7,8]})
>>>one	two
a	1	5
b	2	6
c	3	7
d	4	8

#转置
a.T
>>> 0	1	2	3
one	1	2	3	4
two	5	6	7	8

#获取所有行索引
a.index		>>> Index(['a', 'b', 'c', 'd'], dtype='object')

#获取列索引
a.columns	>>> Index(['one', 'two'], dtype='object')

#获取所有的值
a.values
>>> array([[1, 5],
       [2, 6],
       [3, 7],
       [4, 8]], dtype=int64)

#获取每一列的和
a.sum()
>>>one    10
   two    26
   
#获取每一行的和
a.sum(axis=1)
>>> a     5.0
	b     8.0
	c    10.0
	d    12.0

DataFrame排序
a=pd.DataFrame({'one':[1,2,3,4],'two':[5,6,7,8]})
>>> one	two
0	1	5
1	2	6
2	3	7
3	4	8

#按第一列降序排序
a.sort_values(by='one',ascending=False)
>>>one	two
3	4	8
2	3	7
1	2	6
0	1	5

#按行降序排序
a.sort_values(by='a',ascending=False,axis=1)
>>>two	one
a	5	1
b	6	2
c	7	3
d	8	4

#按标签降序排序
a.sort_index(ascending=False)
>>>one	two
d	4	8
c	3	7
b	2	6
a	1	5
DataFrame索引
a=pd.DataFrame({'one':[1,2,3,4],'two':[5,6,7,8]},index=['a','b','c','d'])
>>> one	two
a	1	5
b	2	6
c	3	7
d	4	8

#获取第一列,返回的是一个Series对象
a['one']
>>> a    1
	b    2
	c    3
	d    4

#获取第2列、第2个元素
a['two']['b']			>>> 6		#通过标签索引,只能先获取列返回Series,先列后行
a.loc['b','two']		>>> 6		#通过标签索引,先行后列
a.iloc[1,1]				>>> 6		#通过下标索引,先行后列

#获取第一行,返回一个Series
a.loc['a',:]
a.iloc[0,:]
>>> one    1
	two    5

#切片索引
a.loc['a':"c","one"]
>>> a    1
	b    2
	c    3

#花式索引
a.loc[['a','c'],"two"]
>>> a    5
	c    7
DataFrame缺失值处理
a=pd.DataFrame({'one':[np.nan,2,3,4],'two':[5,6,7,8]},index=['a','b','c','d'])
>>> one	two
a	NaN	5
b	2.0	6
c	3.0	7
d	4.0	8

#填充成该列的平均数
a.fillna(a.mena())
>>> one	two
a	3.0	5
b	2.0	6
c	3.0	7
d	4.0	8

#有nan的整行丢弃
a.drapna()
>>> one	two
b	2.0	6
c	3.0	7
d	4.0	8

#有nan的整列丢弃
a.dropna(axis=1)
>>>two
a	5
b	6
c	7
d	8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值