我有一个像这样的数据框:
a b c
12456 11 123.1
12678 19 345.67
13278 19 1235.345
或其他格式
<table>
<tr>
<td>12456</td>
<td>11</td><td>123.1</td>
</tr>
<tr>
<td>12678</td>
<td>19</td><td>345.67</td>
</tr>
<tr>
<td>13278</td>
<td>19</td>
<td>1235.345</td>
</tr>
</table>
第一列是索引。我需要添加第三列的行,如果第二列具有相同的值,则使其成为一个。你能建议我做些什么吗?以下是我尝试过但不起作用的内容
a,b,c=df_addweight.iloc[:,0].values,df_addweight.iloc[:, 1].values,df_addweight.iloc[:, 3].values`
for u,v,w, in zip(range(1,len(a)),range(1,len(b)),range(1,len(c))):
if a[u]==a[u-1] and b[v]==b[v-1]:
df_addweight['W']= c[w]+c[w-1]
elif a[u]==a[u-1] and b[v]!=b[v-1]:
df_addweight['W']=c[w]
答案 0 :(得分:0)
使用熊猫:
import pandas as pd
df = pd.read_csv("data.csv", delim_whitespace=True)
df
a b c
0 12456 11 123.100
1 12678 19 345.670
2 13278 19 1235.345
df.groupby('b')['c'].sum()
输出:
b
11 123.100
19 1581.015
Name: c, dtype: float64