我从一个熊猫数据框切下来以创建对象标签。原始数据框中的列名称为y
。
现在,当我取label
的总和并将其分配给m
时,在打印时它始终显示y
。为什么这样做,写y 50.0
到底意味着什么?
>>> type(label)
<class 'pandas.core.frame.DataFrame'>
>>> label.head(2)
y
0 1.0
1 1.0
>>> m = label.sum()
>>> m
y 50.0
dtype: float64
>>>
最佳答案
您的label
数据框架仅包含1个列,该列名为y
,其中包含50行1.0
,因此它返回了sum of y
。在您的代码中,该名称成为索引名称(单列的总和),因为DataFrame中的所有索引都需要一个名称,您可以使用m.index = <insert a name or int here>
重命名该名称,但是m.index = None
会引发TypeError
异常。
>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame(np.ones(50), columns=['y'])
>>> df.head(2)
y
0 1.0
1 1.0
>>> df
y
0 1.0
1 1.0
2 1.0
3 1.0
4 1.0
... # reducted
48 1.0
49 1.0
>>> df.sum()
y 50.0
dtype: float64
>>> m = df.sum()
>>> m
y 50.0
dtype: float64
>>> m.index
Index(['y'], dtype='object')
>>> m.index = None
Traceback (most recent call last):
...
TypeError: Index(...) must be called with a collection of some kind, None was passed