我有2列10行的df。 如果我从第1列-> 5个唯一性中选择唯一性。 我想创建第二个数据框。 第1列:不重复->行(1列+ 5个不重复) 第2列:DataFrame_1的总和,其中第1列==每个唯一身份)
例如: DataFrame_1:
col_1:1,2,3,4,5,4,3,4,3,2
col_2:10,20,10,50,60,20,80,10,20,30
我需要什么: DataFram_2:
col_1:1、2、3、4、5
col_2:10,50,110,80,60
以下是我无法解决的错误
placement:
constraints: [node.labels.service == myservice1 ]
第二个任务
我需要选择数据框第一列的唯一性,并将它们作为第一列添加到第二个数据框(新创建的)中->然后添加与每个唯一性相关的以下列。 我得到类似以下的内容
Data = {'First Field Name': [1,2,3,2,3,4,3,2,1],
'Second Field Name': [12,32,4,32,43,54,11,23,43],}
uniques = df["First Field Name"].unique()
df2 = DataFrame()
for unique in uniques:
df2[unique] = df[unique].sum(axis=0).where(df["First Fiel Name"] == unique)
我需要以下内容
First Field Name Second Field Name
0 1 12
1 2 32
2 3 4
3 2 32
4 3 43
5 4 54
6 3 11
7 2 23
8 1 43
答案 0 :(得分:0)
在col_1上使用groupby,然后对剩余的列(= col_2)求和
df1 = pd.DataFrame({'col_1': [1,2,3,2,3,4,3,2,1],
'col_2': [12,32,4,32,43,54,11,23,43],})
df2 = df1.groupby('col_1').sum().reset_index()
df2
col_1 col_2
0 1 55
1 2 87
2 3 58
3 4 54
答案 1 :(得分:0)
您可以尝试以下方法:
d={'col_1':[1,2,3,4,5,4,3,4,3,2],
'col_2':[10,20,10,50,60,20,80,10,20,30]}
df1=pd.DataFrame(d)
df2=df1.groupby(by='col_1').agg(sum).reset_index()
print(df1)
print(df2)
输出:
col_1 col_2
0 1 10
1 2 20
2 3 10
3 4 50
4 5 60
5 4 20
6 3 80
7 4 10
8 3 20
9 2 30
col_1 col_2
0 1 10
1 2 50
2 3 110
3 4 80
4 5 60
希望这可以为您提供帮助:)