猿问

在空数据帧上进行Groupby-Transform会引发异常

为什么以下代码引发异常:


# creates empty data frame with two columns

my_df = pd.DataFrame([], columns=["a", "b"])

# groups by the values in column "a" and transforms the values in "b" to be the sum

my_df.groupby("a")["b"].transform(lambda x: x.sum())

但是,这导致此错误:


ValueError: No objects to concatenate

如果my_df不为空,它将起作用:


list_of_numbers = [[0, 1],

                   [0, 2],

                   [1, 10]]

my_df = pd.DataFrame(list_of_numbers, columns=["a", "b"])

my_df.groupby("a")["b"].transform(lambda x: x.sum())

0     3

1     3

2    10

Name: b, dtype: int64

但my_df来自应用程序的其他部分,因此可以为空。我正在使用Pandas 0.20.3。


慕慕森
浏览 225回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答