gpt4 book ai didi

python - 有两种方式从 Pandas DataFrame 中提取单列,有什么区别?

转载 作者:行者123 更新时间:2023-12-01 01:15:58 25 4
gpt4 key购买 nike

我创建了一个 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_temperature
timestamp
2019-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_temperature
timestamp
2019-01-23 00:00:00+00:00 8.350000
2019-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:
timestamp
2019-01-23 00:00:00+00:00 8.350000
...
2019-01-24 07:25:00+00:00 10.400000
Freq: 5T, Name: floor_temperature, Length: 407, dtype: float64

为什么最后 2 个 DataFrame 对象的打印略有不同?

第一个页脚为“[407 行 x 1 列]”,第二个页脚为“频率:5T,名称:floor_temp,长度:407,dtype:float64”。

它们是相同的,还是有真正的区别?

最佳答案

方括号很重要

df['floor_Temperature'] 表示一个系列。 pd.Series 对象是一维的。提供 pd.DataFrame.__getitem__ 的参数(其中 [] 是语法糖)是一个标量。

df[['floor_Temperature']] 表示数据帧。 pd.DataFrame 对象是二维的,由参数列表表示。

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

关于python - 有两种方式从 Pandas DataFrame 中提取单列,有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54343898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com