当我应用熊猫的 groupby 函数时,我没有得到数据帧,但得到了一个奇怪的输出



这是我的数据帧的一个例子,我想应用groupby函数,但我得到了以下输出:

示例数据帧:

x      sampling time    y
1        morning        19 
2        morning        19.1
3        morning        20
1        midday         17
2        midday         18
3        midday         19

输出:<位于0x11F3DEB0的pandas.core.groupby.generic.DataFrameGroupBy对象>

我的代码:

file = pd.read_excel(r'C:/Users/...
r'2021_Licor_sinusoidal.xlsx')
df = file[['x', 'Sampling time', 'Y']].copy()
df.columns = ['x', 'Sampling time', 'Y']
grouped = df.groupby(['Sampling time'])
print(grouped)

提前感谢

Pandas的groupby本质上是懒惰的,这意味着它不会返回任何实际数据,直到您明确要求它们。如注释中所述,这将返回一个分组迭代器,它可以与sum()count()等内置函数一起使用。本教程将为您提供有关操作及其工作方式的更多见解。

更详细地说:

by_state = df.groupby("state")
print(by_state)
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x107293278>

在这里,您可以得到您提到的"奇怪"对象/输出,因为groupby会延迟拆分组合应用过程,直到您对这些数据调用一个方法,如上所述。由于函数返回迭代器,因此您当然可以对此进行迭代。

for state, frame in by_state:
print(f"First 2 entries for {state!r}")
print("------------------------")
print(frame.head(2), end="nn")
# First 2 entries for 'AK'
# ------------------------
#      last_name first_name   birthday gender type state        party
# 6619    Waskey      Frank 1875-04-20      M  rep    AK     Democrat
# 6647      Cale     Thomas 1848-09-17      M  rep    AK  Independent
# First 2 entries for 'AL'
# ------------------------
#     last_name first_name   birthday gender type state       party
# 912   Crowell       John 1780-09-18      M  rep    AL  Republican
# 991    Walker       John 1783-08-12      M  sen    AL  Republican

相关内容

最新更新