为了账号安全,请及时绑定邮箱和手机立即绑定

以两种方式从 Pandas DataFrame 中提取单列,区别?

以两种方式从 Pandas DataFrame 中提取单列,区别?

波斯汪 2021-10-19 15:17:31
我有一个像这样创建的 Pandas DataFrame:df = floor_temperatures.join(power_consumption, how='outer').join(outside_temperatures, how='outer')df = df.resample('5Min').mean()print (df)                           floor_temperature  power_consumption  outside_temperaturetimestamp2019-01-23 00:00:00+00:00           8.350000           0.045000           -11.388889...                                      ...                ...                  ...2019-01-24 07:25:00+00:00          10.400000           0.060000            -8.900000[407 rows x 3 columns]然后我基于这样的一列创建一个新的 DataFrame:y = df[['floor_temperature']]print("1:")print (y)1:                           floor_temperaturetimestamp2019-01-23 00:00:00+00:00           8.3500002019-01-23 02:25:00+00:00           8.600000...                                      ...2019-01-24 07:25:00+00:00          10.400000[407 rows x 1 columns]然后我基于这样的一列创建一个新的 DataFrame:print("2:")y = df['floor_temperature']print (y)2:timestamp2019-01-23 00:00:00+00:00     8.350000                               ...2019-01-24 07:25:00+00:00    10.400000Freq: 5T, Name: floor_temperature, Length: 407, dtype: float64为什么最后 2 个 DataFrame 对象的打印略有不同?第一个的页脚是“[407 行 x 1 列]”,第二个是“频率:5T,名称:地板温度,长度:407,dtype:float64”。它们是相同的,还是它们之间有真正的区别?
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

方括号很重要

df['floor_temperature']代表一个系列。pd.Series对象是一维的。的参数馈送pd.DataFrame.__getitem__,为此,[]是语法糖,是一个标量。

df[['floor_temperature']]表示一个数据框。pd.DataFrame对象是二维的,由参数表示为列表。

您所看到的是单个孤立系列和具有单个系列的数据框之间的区别。


查看完整回答
反对 回复 2021-10-19
  • 1 回答
  • 0 关注
  • 233 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信