在this answer中,我们可以看到pd.cut()产生一个category类型的列,并且.apply()允许访问给定间隔值的属性。
例如,这是可行的:
df['b'] = df['a'].apply(lambda x: x.left)但这是行不通的:
df['b'] = df['a'].left我不明白为什么会这样。找不到一个好的解释。如果有人能解释,那就太好了。
发布于 2021-06-05 00:32:19
AmineBTG对这个问题的评论回答了这个问题。
在下面的代码中,left适用于序列,并且没有用于pd.series的.left方法(或属性
df['b'] = df['a'].left在下面的代码中,.apply()按行工作,一次处理一个序列值。因此,.left被正确地解释为每个间隔值的属性。
df['b'] = df['a'].apply(lambda x: x.left)https://stackoverflow.com/questions/67825987
复制相似问题