如何将带有 1 个主列的 Pandas DataFrame 对象转换为带有原始 DataFrame 索引列的 Pandas 系列

问题描述

假设我有一个简单的数据框,如下所示,我将这个数据框的索引设置为时间列。

例如

import pandas as pd

df = pd.DataFrame({'time':['2021-02-20','2021-02-21','2021-02-22','2021-02-23'],'price':[1,2,3,4]})
df.set_index('time',inplace=True)

在这个数据框只有 1 个主列(价格),所以我想知道获取这个数据框并将其类型更改为系列的最佳方法

我觉得这可以使用 pandas squeeze() 方法来完成,但想知道是否有其他替代方法或更好的方法,如果我的方法似乎有误,请纠正我。

例如

# Setting the original DataFrame to a Series,since only 1 main column can use the 'column' argument
# in the squeeze method 

df = df.squeeze('columns')
` ``

解决方法

我认为更简单的是选择列,如:

s = df.set_index('time')['price']

我认为 inplace 不是一个好习惯,请检查 thisthis

,

df["price"] 也会给你同样的东西。