我有一个像这样创建的 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
对象是二维的,由参数表示为列表。
您所看到的是单个孤立系列和具有单个系列的数据框之间的区别。
添加回答
举报
0/150
提交
取消