DataFrame在某一列中取符合条件的值

该博客介绍了如何利用Pandas库在读取CSV数据后,通过条件筛选获取时间列中数值小于10的元素。首先导入numpy和pandas库,然后读取CSV文件,接着创建一个NumPy数组并筛选出'时间'列小于10的值,最后打印筛选后的结果。

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

 DataFrame在某一列中取符合条件的值,实例为在时间列中取出小于10的值。

import numpy as np
import pandas as pd

df = pd.read_csv(r'C:/Users/hanhan/PycharmProjects/pythonProject/data.csv',encoding = 'gbk')

t = np.array(df['时间'])
print('初始值的t=',t)
t = np.array(df[df['时间']<10]['时间'])
print('筛选后的t=',t)

 

 

### 如何使用 Pandas DataFrame某一具体数据 在 Pandas 中,可以通过多种方式获 DataFrame 中的具体数据。以下是几种常见的方法: #### 方法一:通过 `loc` 和条件筛选 如果需要基于某找到对应的另一列的数据,可以使用 `.loc` 结合布尔索引来完成此操作[^4]。例如,在给定的 DataFrame 中查找 `'a'` 等于 12 的行,并提 `'b'` 。 ```python import pandas as pd data = [{'a': 12, 'b': 110}, {'a': 11, 'b': 10}, {'a': 12, 'b': 1}] df = pd.DataFrame(data) result = df.loc[df['a'] == 12, 'b'] print(result.values[0]) # 输出第一个满足条件的结果 ``` 这种方法适用于当您知道具体的筛选条件并希望返回对应的一个或多个时。 --- #### 方法二:通过 `iloc` 使用位置索引 如果您知道目标单元格的位置(行索引),可以直接使用 `iloc` 来访问它[^4]。例如,要获第 0 行、第 1 : ```python value = df.iloc[0, 1] print(value) # 输出 110 ``` 这种方式适合于按照行编号定位单个单元格的情况。 --- #### 方法三:利用 `query` 进行高级查询 对于更复杂的过滤逻辑,可以采用 `query` 方法来简化代码结构[^3]。比如,同样是为了找出 `'a'` 为 12 对应的 `'b'` : ```python filtered_df = df.query('a == 12') first_value = filtered_df['b'].values[0] print(first_value) # 输出 110 ``` 注意这里我们假设只有一条记录符合条件;如果有多个,则需进一步处理结果集。 --- #### 方法四:直接最后一列或者任意指定的内容 假如不确定确切名称而只是想得最后那栏的信息的话,也可以借助属性名表来进行选[^2]: ```python last_column_name = df.columns[-1] last_column_data = df[last_column_name] specific_cell = last_column_data.iloc[0] print(specific_cell) # 打印首项来自末端字段之数。 ``` 以上展示了不同场景下怎样精确抓出所需元素。 --- ### 总结 综上所述,依据实际需求可以选择最适合自己的途径去达成目的——无论是基础切片还是复杂表达式都能有效解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值