设置序列切片的属性

2024-06-26 14:13:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在这个网站上彻底搜索了这个问题的答案,但没有找到任何东西。有没有办法在序列的切片上设置属性?像这样的事情会引发一个错误--

mySeries = pd.Series([1,2,3])
setattr(mySeries.iloc[:2], 'myMean', 1.5)
getattr(mySeries.iloc[:2], 'myMean')

谢谢


Tags: 答案属性网站错误切片序列事情series
1条回答
网友
1楼 · 发布于 2024-06-26 14:13:55

好吧,你可以这么做,但这是一个肮脏的黑客和它没有任何用处:

In [318]: mySeries.myMean = mySeries.mean()

In [319]: mySeries
Out[319]:
0    1
1    2
2    3
dtype: int64

In [320]: mySeries.myMean
Out[320]: 2.0

注意:正如@jpp在评论中提到的,如果覆盖现有属性之一,也可能非常危险

想象一下这个系列已经改变了:

In [321]: mySeries *= 10

In [322]: mySeries
Out[322]:
0    10
1    20
2    30
dtype: int64

您的属性现在显示不正确的(旧)值:

In [323]: mySeries.myMean
Out[323]: 2.0

PS我不认为我们可以为切片设置独立属性

相关问题 更多 >