在系列切片上设置属性

时间:2018-06-19 15:10:25

标签: python pandas

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以做到,但这是一个肮脏的技巧,根本没有用:

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,我认为我们不能为 slice

提供一个独立的属性