在 groupby pandas 之前用字符串填充 nan
fill nan with string before groupby pandas
我有一个table这样的
src | dst | amount
------------------
a | c | 100
b | c | 50
a | b | 40
a | nan | 10
nan | nan | 100
我想要一个像这样的 table,我按 src 分组并对发送的金额求和,如果 src 是 nan,我想用“未知”替换。
entity | sent
-------------
a | 150
b | 50
uknown | 100
如果 nan
是缺失值,请在聚合前替换它:
df = (df.fillna({'src': 'unknown'})
.groupby('src')['amount']
.sum()
.rename_axis('entity')
.reset_index(name='sent'))
print (df)
entity sent
0 a 150
1 b 50
2 unknown 100
或者如果 'nan'
是字符串使用:
df = (df.replace({'src': {'nan': 'unknown'}})
.groupby('src')['amount']
.sum()
.rename_axis('entity')
.reset_index(name='sent'))
print (df)
entity sent
0 a 150
1 b 50
2 unknown 100
另一个想法:
df.groupby(df['src'].fillna('unknown').rename('entity'))['sent'].sum().reset_index()
df.groupby(df['src'].replace('nan','unknown').rename('entity'))['sent'].sum().reset_index()
我有一个table这样的
src | dst | amount
------------------
a | c | 100
b | c | 50
a | b | 40
a | nan | 10
nan | nan | 100
我想要一个像这样的 table,我按 src 分组并对发送的金额求和,如果 src 是 nan,我想用“未知”替换。
entity | sent
-------------
a | 150
b | 50
uknown | 100
如果 nan
是缺失值,请在聚合前替换它:
df = (df.fillna({'src': 'unknown'})
.groupby('src')['amount']
.sum()
.rename_axis('entity')
.reset_index(name='sent'))
print (df)
entity sent
0 a 150
1 b 50
2 unknown 100
或者如果 'nan'
是字符串使用:
df = (df.replace({'src': {'nan': 'unknown'}})
.groupby('src')['amount']
.sum()
.rename_axis('entity')
.reset_index(name='sent'))
print (df)
entity sent
0 a 150
1 b 50
2 unknown 100
另一个想法:
df.groupby(df['src'].fillna('unknown').rename('entity'))['sent'].sum().reset_index()
df.groupby(df['src'].replace('nan','unknown').rename('entity'))['sent'].sum().reset_index()