我已经在本网站上彻底搜索了有关此问题的答案,但是没有找到任何东西。有没有办法在系列的切片上设置属性?这样的事情会引发错误-
mySeries = pd.Series([1,2,3])
setattr(mySeries.iloc[:2], 'myMean', 1.5)
getattr(mySeries.iloc[:2], 'myMean')
谢谢!
答案 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
提供一个独立的属性