怎样在Pandas DataFrame列中搜索值
作者:Sonhhxg_柒
这篇文章主要介绍了怎样在Pandas DataFrame列中搜索值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
在Pandas DataFrame列中搜索值
在DataFrame列中搜索值的Python Pandas代码示例
在任何机器学习或数据科学项目中处理大型数据集时,都需要在特征中搜索某些值,而对于这些值,我们需要从其他特征中获取值。
在数据集中搜索值可能听起来很复杂,但 Python Pandas 让它变得简单。
下面的 Python Pandas 代码执行以下操作:
- 1. 创建数据字典并将其转换为 Dataframe
- 2. 使用“where”函数过滤出所需的数据列。pandas.DataFrame.where() 函数类似于 if-then 惯用语,它检查条件以相应地返回结果。
用于在DataFrame中查找值的 Python Pandas示例代码
下面是 python 中的 pandas 代码,用于在 Pandas DataFrame 列中搜索值 -
第 1 步 - 导入库
import pandas as pd
我们只导入了此代码示例所需的 python pandas 库。
第 2 步 - 设置数据
我们已经创建了一个数据字典并将其传递给 pd.DataFrame 以创建一个包含“first_name”、“last_name”、“age”、“Comedy_Score”和“Rating_Score”列的数据框。
raw_data = {'first_name': ['Sheldon', 'Raj', 'Leonard', 'Howard', 'Amy'], 'last_name': ['Copper', 'Koothrappali', 'Hofstadter', 'Wolowitz', 'Fowler'], 'age': [42, 38, 36, 41, 35], 'Comedy_Score': [9, 7, 8, 8, 5], 'Rating_Score': [25, 25, 49, 62, 70]} df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'Comedy_Score', 'Rating_Score']) print(df)
第 3 步 - 在 DataFrame 中搜索值
我们在特征 Rating_Score 中搜索值小于 50 的数据,对于这些值,我们在 comedy_Score 中选择相应的值。
print(df['Comedy_Score'].where(df['Rating_Score'] < 50))
输出如下所示 -
first_name last_name age Comedy_Score Rating_Score
0 Sheldon Copper 42 9 25
1 Raj Koothrappali 38 7 25
2 Leonard Hofstadter 36 8 49
3 Howard Wolowitz 41 8 62
4 Amy Fowler 35 5 70
0 9.0
1 7.0
2 8.0
3 NaN
4 NaN
Name: Comedy_Score, dtype: float64
python pandas DataFrame 列数值大小筛选
import pandas as pd data = [[1,2],[2,3],[3,4],[-3,4],[-2,3]] column = ['a','b'] df = pd.DataFrame(data,columns=column) #筛选a列绝对值大于2的数 v = df[abs(df['a']) > 2] print(v['a'])
打印出来的结果是
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。