gpt4 book ai didi

python - 添加具有一个值的新列

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:26 25 4
gpt4 key购买 nike

我有以下数据框:

a = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9], [10, 11, 12]], columns=['a','b','c'])
a
Out[234]:
a b c
0 1 2 3
1 4 5 6
2 7 8 9
3 10 11 12

我想添加一列,其中只有最后一行作为 c 列最后两个值的平均值。像这样的东西:

    a   b   c   d
0 1 2 3 NaN
1 4 5 6 NaN
2 7 8 9 NaN
3 10 11 12 mean(9,12)

我试过了,但第一部分出错了:

a['d'].iloc[-1] = a.c.iloc[-2:].values.mean()

最佳答案

您可以使用 .at 在单个行/列标签对上分配:

ix = a.shape[0]
a.at[ix-1,'d'] = a.loc[ix-2:ix, 'c'].values.mean()

a b c d
0 1 2 3 NaN
1 4 5 6 NaN
2 7 8 9 NaN
3 10 11 12 10.5

另请注意 chained indexing (你用 a.c.iloc[-2:] 做什么)在文档中被明确劝阻,因为 Pandas 将这些操作视为单独的事件,即对 __getitem__ 的两次单独调用。 ,而不是使用嵌套切片元组的单个调用。

关于python - 添加具有一个值的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56890362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com