python - 如何使用 Python 查询小型数据集
问题描述
我需要使用 Python 从 csv 文件中识别数据子集的帮助。我有一个数据集,其中包含水果清单以及如下所示的类型字段。
Item Type
Apple 10
Orange 5
Pear 8
Apple 10
Pear 5
Orange 2
Pear 5
我需要能够将此数据集识别/拆分为水果和类型的子集。
预期输出是另一个带有数字的字段,表示它应该进入的类别:
Item Type Category
Apple 10 1
Orange 5 2
Pear 8 3
Apple 10 1
Pear 5 4
Orange 5 2
Pear 5 4
我是 Python 新手,因此需要有关实际逻辑的帮助
解决方案
我假设预期答案的倒数第二行应保留为“Orange 2”,并键入:
import pandas
df = pandas.DataFrame([['Apple', '10'],
['Orange', '5'],
['Pear', '8'],
['Apple', '10'],
['Pear', '5'],
['Orange', '2'],
['Pear', '5']],
columns = ['Item', 'Type'])
categories = []
for index,row in df.iterrows():
if tuple(row) not in categories:
categories.append(tuple(row))
df["Category"] = [categories.index(tuple(row))+1 for index,row in df.iterrows()]
print(df)
这会给
Item Type Category
0 Apple 10 1
1 Orange 5 2
2 Pear 8 3
3 Apple 10 1
4 Pear 5 4
5 Orange 2 5
6 Pear 5 4
由于这里没有特殊的 pandas 操作,因此没有必要使用 pandas(尽管它可能对其他操作有用)。关键是定义一个唯一的元组列表,记录Item和Type的每个组合,并使用索引函数再次找到它。
推荐阅读
- google-cloud-trace - 在 UI 中查看 stackTrace?
- wordpress - 在 WP 中打开带有密码保护的 Pdf
- c - 我应该为哈希表中的存储桶使用什么数据结构?
- c# - 如何删除或隐藏枢轴的页面选择
- python - 来自 scikit-learn 随机森林的令人困惑的概率
- awk - 在 awk 中使用标准输出作为输入
- asp.net - 使用 IAuthenticationFilter 时 HttpContext.Current 为空
- javascript - 渲染器的回调没有被调用,这是怎么回事?
- c - 嵌套在openmp中的lops
- jquery - 如何使用 ajax jquery 获取最终选择值?