使用熊猫搜索CSV文件(唯一的ID) - Python

问题描述:

我正在寻找与242000行搜索csv文件,并且想要在其中一列中求和唯一标识符。列名是'logid',并有许多不同的值,即1002,3004,5003.我想使用熊猫数据框搜索csv文件并对唯一标识符进行求和。如果可能的话,我想创建一个新的csv文件来存储这些信息。例如,如果我发现有100个100的logid,那么我想创建一个csv文件,其列名为1004,下面显示的计数为50。我会为所有唯一标识符执行此操作,并将它们添加到同一个csv文件中。我在这方面是全新的,并且已经做了一些搜索,但不知道从哪里开始。使用熊猫搜索CSV文件(唯一的ID) - Python

谢谢!

+0

您好,欢迎StackOverflow上。请[见这里](http://stackoverflow.com/help/how-to-ask)学习如何编写有效的问题,并[在这里](http://stackoverflow.com/help/mcve)学习如何创建最小,完整和可验证的示例。 – cmaher

因为你没有发布你的代码,我只能给你一个答案,只关于它的工作方式。

  1. 装入CSV文件导入使用其中在一个单独的DF1一个occurence> 1使用pandas.DataFrame.drop_duplicatespandas.read_csv
  2. 保存所有值的pd.Dataframe:

    DF1 = df.drop_duplicates(保持=”第一)

- >这将返回一个数据帧,其仅包含具有重复值的第一次出现的行例如,如果该值1000是在5行仅第一行将b中。当其他人被抛弃时,他们回来了。

- >应用df1.shape [0]会返回您df中重复值的数量。

3,如果你想存储包含在你所要做的水木清华这样一个单独的CSV文件中的“重复值” DF的所有行:

df=pd.DataFrame({"A":[0,1,2,3,0,1,2,5,5]}) # This should represent your original data set 
print(df) 

df1=df.drop_duplicates(subset="A",keep="first") #I assume the column with the duplicate values is columns "A" if you want to check the whole row just omit the subset keyword. 

print(df1) 
list=[] 


for m in df1["A"]: 
    mask=(df==m) 
    list.append(df[mask].dropna()) 

for dfx in range(len(list)): 
    name="file{0}".format(dfx) 
    list[dfx].to_csv(r"YOUR PATH\{0}".format(name)) 
+0

我可以帮你吗? – 2Obe

+0

你需要任何附加信息吗? – 2Obe