【发布时间】:2021-05-09 08:50:07
【问题描述】:
如果最后 N (3) 行或当前行中的任何一行在 groupby 中为真,那么我希望输出为真。
这就是我一直在尝试的方式,无论是使用转换,因为它是单列。
import pandas as pd
data = [
['False', 'CLE',],
['False', 'CLE'],
['True', 'CLE'],
['False', 'MON'],
['False', 'CLE'],
['False', 'CLE'],
['False', 'CLE'],
['False', 'CLE']
]
# Create the pandas DataFrame
df = pd.DataFrame(data,
columns=["bool", "city"])
df['x'] = df.groupby(['city'])['bool']\
.transform(lambda x: x==True &
x.index\
.isin(x.index[-2:]))
输出应该是:
False
False
True
False
True
True
False
False
【问题讨论】:
标签: python pandas group-by transform