当前位置: 代码迷 >> python >> 从DataFrame中提取列
  详细解决方案

从DataFrame中提取列

热度:83   发布时间:2023-07-16 09:46:19.0

只是一个基本问题,但这使我受阻。 我们如何从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和删除所有列找到了一个替代方法,但是这非常耗时。

亚历克西斯

您可以使用[[]]代替[]

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'] )传递给列子集运算符。

一种解决方案是使用所需的列和原始索引创建一个DataFrame:

df = pandas.DataFrame(dfM.T1, index = dfM.index)
  相关解决方案