我尝试了
print(type(numbers[2]))
numbers[2].tolist()
print(type(numbers[2]))
那是行不通的。我有
<class 'pandas.core.series.Series'>
<class 'pandas.core.series.Series'>
数字是一个矩阵。
答案 0 :(得分:3)
.tolist()
调用不会就地更新您的结构。取而代之的是,该方法将返回一个新列表,而不修改原始的pd.Series
对象。
这意味着我们必须将结果分配给原始变量以对其进行更新。但是,如果原始变量是pd.DataFrame()
的一部分,我们将无法执行此操作,因为分配时DataFrame
会自动将list
转换为pd.Series
。
这意味着,执行numbers[2] = numbers[2].tolist()
仍将numbers[2]
设为pd.Series
。要真正获得列表,我们需要将输出分配给另一个(也许是新的)变量,而不是DataFrame
的一部分。
因此,做
numbers_list = numbers[2].tolist()
print(type(numbers_list))
将按预期输出<class 'list'>
。
答案 1 :(得分:2)
这不会更改任何内容,因为您没有分配它:
print(type(numbers[2]))
numbers[2].tolist()
print(type(numbers[2]))
应更改为:
print(type(numbers[2]))
numbers2list = numbers[2].tolist()
print(type(numbers2list))
返回:
<class 'pandas.core.series.Series'>
<class 'list'>