pandas dataframe 提取行和列

本文详细介绍了使用Python的Pandas库进行数据提取的方法,包括单列或多列的直接提取、使用.loc和.iloc按标签或位置索引提取,以及按条件筛选多行数据的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pandas as pd
data = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]})

提取列

单列

data['a']

多列

data[['a', 'b']]

 

 使用 .loc或者 .iloc 提取

第一个参数是行,第二个参数为列

.loc为按标签提取, .iloc为按位置索引提取

data.loc[:, 'a'] # 等价于data.iloc[:, 0]
data.loc[:, ['a', 'b']] # 等价于data.iloc[:, [0, 1]]

提取行 

提取行的时候,一般只能使用 .loc 和 .iloc 来提取,个人是比较喜欢使用 .loc 

提取某些行

# 提取一行
data.loc[1] # 标签索引
Out[35]: 
a    2
b    5
c    8
Name: 1, dtype: int64

data.iloc[1] # 位置索引
Out[36]: 
a    2
b    5
c    8

# 提取多行
data.loc[:1]
Out[37]: 
   a  b  c
0  1  4  7
1  2  5  8

data.loc[[0,1]]
Out[38]: 
   a  b  c
0  1  4  7
1  2  5  8

行列一起使用

data.loc[0:1, 'b']
Out[40]: 
0    4
1    5

按匹配条件提取多行

这种方法是按照某些列符合某种条件,然后提取多行

单条件

多条件

# 这两种方法得到的结果是一致的,推荐使用第二种

# 与 条件 不能使用 and
data[(data['a']<=2) & (data['b']>=5)]
data.loc[(data['a']<=2) & (data['b']>=5)]

# 或 条件 不能使用 or
data[(data['a']<=2) | (data['b']>=5)]
data.loc[(data['a']<=2) | (data['b']>=5)]

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值