【问题标题】:Calculate duration in years for multiple variables in a column计算列中多个变量的持续时间(以年为单位)
【发布时间】:2023-02-05 03:27:08
【问题描述】:
我正在尝试计算每家商店的营业时间。这是数据集的示例:
| year |
store name |
| 2000 |
Store A |
| 2001 |
Store A |
| 2002 |
Store A |
| 2003 |
Store A |
| 2000 |
Store B |
| 2001 |
Store B |
| 2002 |
Store B |
| 2000 |
Store C |
我不确定如何计算每个商店名称的最大和最小年份的差异,因为它们都在同一列中。我是否使用熊猫将其放入新专栏?
【问题讨论】:
标签:
python
pandas
date
duration
【解决方案1】:
您需要使用 groupby:
g = df.groupby('store name')['year']
out = g.max()-g.min()
【解决方案2】:
您可以使用 groupby 和 transform 在同一数据框中创建一个附加列。
df["years open"] = df.groupby("store name")["year"].transform(lambda x: x.max()-x.min())