【发布时间】:2021-09-03 06:43:31
【问题描述】:
我当前的代码是这样的:
df = pd.DataFrame({'animal': ['falcon', 'dog', 'spider', 'fish'],
'num_specimen_seen': [10, 2, 1, 8]})
df = df.append({'animal': 'Total Land', 'num_specimen_seen': df.loc[df['animal']=='falcon','num_specimen_seen']+df.loc[df['animal']=='dog','num_specimen_seen']+df.loc[df['animal']=='spider','num_specimen_seen']}, ignore_index=True)
df
在上面的代码中,我正在为名为 Total Land 的动物列创建一个新记录,并且它的 num_specimen_seen 是通过参考相应的陆地动物数量来计算的。有没有更好的方法来实现下面提供的我想要的结果?
我最好不想创建当前数据帧的子集来使用 .sum 功能,因为我需要多次执行上述操作
电流输出:
| animal | num_specimen_seen | |
|---|---|---|
| 0 | falcon | 10 |
| 1 | dog | 2 |
| 2 | spider | 1 |
| 3 | fish | 8 |
| 4 | Total Land | 0 NaN 1 NaN 2 NaN Name: num_specimen_see... |
预期输出:
| animal | num_specimen_seen | |
|---|---|---|
| 0 | falcon | 10 |
| 1 | dog | 2 |
| 2 | spider | 1 |
| 3 | fish | 8 |
| 4 | Total Land | 13 |
【问题讨论】:
标签: python python-3.x pandas numpy