如何使用Python查询小型数据集

时间:2019-03-27 11:26:51

标签: python dataset

我需要使用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的新手,因此需要有关实际逻辑的帮助

2 个答案:

答案 0 :(得分:0)

我假设预期答案的倒数第二行应保持为“ 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

由于这里没有特殊的熊猫操作,因此使用熊猫不是必需的(尽管它可能对其他操作很有用)。关键是定义一个唯一的元组列表,该列表记录Item和Type的每种组合,并使用index函数再次找到它。

答案 1 :(得分:-1)

我不太了解你的问题。

如果要读取csv文件,可以使用pandas

import pandas as pd

pd.read_csv('myfile.csv')

您也可以使用sep参数来使用自定义分隔符。