只是一个基本问题,但它阻止了我很多。 我们如何从DataFrame中提取列并将DataFrame作为输出?
假设我们有:
>>> dfM
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 17544 entries, 2015-01-01 00:00:00 to 2016-12-31 23:00:00
Data columns (total 23 columns):
T1 17544 non-null values
T2 17544 non-null values
>>> df = dfM['T1']
这里df不是DataFrame。我通过复制DataFrame和del所有列找到了一个诡计,但它很快就完成了。
Alexis
答案 0 :(得分:1)
您可以使用[[]]
代替[]
:
df = dfM[['T1']]
例如:
from pandas import DataFrame
df = DataFrame(dict(a=range(10), b=range(10)))
type(df['b'])
# <class 'pandas.core.series.Series'>
type(df[['b']])
# <class 'pandas.core.frame.DataFrame'>
这是有效的,因为它将1(['b']
)的列表传递给列子集运算符。
答案 1 :(得分:0)
一种解决方案是使用您想要的列和原始索引创建DataFrame:
df = pandas.DataFrame(dfM.T1, index = dfM.index)