使用熊猫搜索CSV文件(唯一的ID) - Python
问题描述:
我正在寻找与242000行搜索csv文件,并且想要在其中一列中求和唯一标识符。列名是'logid',并有许多不同的值,即1002,3004,5003.我想使用熊猫数据框搜索csv文件并对唯一标识符进行求和。如果可能的话,我想创建一个新的csv文件来存储这些信息。例如,如果我发现有100个100的logid,那么我想创建一个csv文件,其列名为1004,下面显示的计数为50。我会为所有唯一标识符执行此操作,并将它们添加到同一个csv文件中。我在这方面是全新的,并且已经做了一些搜索,但不知道从哪里开始。使用熊猫搜索CSV文件(唯一的ID) - Python
谢谢!
答
因为你没有发布你的代码,我只能给你一个答案,只关于它的工作方式。
- 装入CSV文件导入使用其中在一个单独的DF1一个occurence> 1使用pandas.DataFrame.drop_duplicates像pandas.read_csv
-
保存所有值的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))
您好,欢迎StackOverflow上。请[见这里](http://stackoverflow.com/help/how-to-ask)学习如何编写有效的问题,并[在这里](http://stackoverflow.com/help/mcve)学习如何创建最小,完整和可验证的示例。 – cmaher