我试过
print(type(numbers[2]))
numbers[2].tolist()
print(type(numbers[2]))
Run Code Online (Sandbox Code Playgroud)
那行不通。我有
<class 'pandas.core.series.Series'>
<class 'pandas.core.series.Series'>
Run Code Online (Sandbox Code Playgroud)
数字是一个矩阵。
Joh*_*anL 11
该.tolist()调用不会就地更新您的结构。相反,该方法将返回一个新列表,而不修改原始pd.Series对象。
这意味着我们必须将结果分配给原始变量以更新它。但是,如果原始变量是 a 的一个切片,pd.DataFrame()我们就不能这样做,因为在赋值时DataFramea 会自动转换list为 a pd.Series。
这意味着,doingnumbers[2] = numbers[2].tolist()仍然numbers[2]是一个pd.Series. 要实际获取列表,我们需要将输出分配给另一个(可能是新的)变量,它不是DataFrame.
因此,做
numbers_list = numbers[2].tolist()
print(type(numbers_list))
Run Code Online (Sandbox Code Playgroud)
将按<class 'list'>预期输出。
这不会改变任何内容,因为您没有分配它:
print(type(numbers[2]))
numbers[2].tolist()
print(type(numbers[2]))
Run Code Online (Sandbox Code Playgroud)
应改为:
print(type(numbers[2]))
numbers2list = numbers[2].tolist()
print(type(numbers2list))
Run Code Online (Sandbox Code Playgroud)
返回:
<class 'pandas.core.series.Series'>
<class 'list'>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8419 次 |
| 最近记录: |