Python中pandas.Dataframe数据筛选

Dataframe可以实现强大的数据筛选功能,下面简单举几个例子:

# 创建一个DataFrame
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6, 4), columns=list('ABCD))
print(df)

df数据结构如下:

          A         B         C         D
0 -0.400824  0.998817  2.121522 -1.268276
1  0.228094 -0.408854 -1.192140  1.352446
2 -0.371661  0.527468 -1.056101 -0.844282
3 -1.956070 -0.148563  0.924577  1.236696
4 -0.195633  1.630977  0.051205 -0.569934
5 -0.188138 -0.899891 -0.536001  0.486175

一、如果想要筛选出 B列大于零

df1 = df[df['B']>0]
print(df1)
# 输出结果:
          A         B         C         D
0 -0.400824  0.998817  2.121522 -1.268276
2 -0.371661  0.527468 -1.056101 -0.844282
4 -0.195633  1.630977  0.051205 -0.569934

二、如果想要筛选出 B列中大于零 的行,同时只显示B列的数据:

df2 = df['B'][df['B'] >0]
print(df2)
# 输出结果:
0    0.998817
2    0.527468
4    1.630977

三、如果想要筛选出 B列大于零,同时C列小于零的行:

df3 = df[(df['B']>0)&(df['C']<0)]  # 这里&符号可以实现多条件的筛选
print(df3)
# 输出结果:
          A         B         C         D
2 -0.371661  0.527468 -1.056101 -0.844282

四、如果要根据B、C两列来筛选数据,但最终只显示A、D两列的数据:

df4 = df[['A', 'D']][(df['B']>0)&(df['C']<0)]  
print(df4)
# 输出结果:
          A         D
2 -0.371661 -0.844282
  • 19
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值