作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个交易数据框:
customer_id town amount category
0 n1 New York 12.50 Book Stores
1 n2 New York 4.49 Book Stores
2 n3 New York 11.70 Book Stores
3 n4 New York 15.00 Cable TV
4 n5 New York 7.00 Cable TV
5 n6 New York 6.00 Cable TV
6 n7 New York 15.00 Cable TV
7 n8 New York 7.00 Cable TV
8 n9 New York 7.00 Cable TV
9 la1 Los Angeles 15.00 Book Stores
10 la2 Los Angeles 15.99 Book Stores
11 la3 Los Angeles 15.00 Book Stores
12 la4 Los Angeles 7.00 Cable TV
13 la5 Los Angeles 15.99 Cable TV
14 la6 Los Angeles 15.00 Cable TV
15 la7 Los Angeles 7.00 Cable TV
两镇:纽约和洛杉矶。
($12.50 + $4.49 + $11.70) / 9 people = $3.18
我正在尝试将其转换为 Pandas 函数。我尝试了很多不同的
groupbys
和
pivots
,但它总是把数据当作只有 3 个人住在纽约。
print('\nAttempt 1...\n')
print(new_df.groupby(['town','category'])['amount'].mean())
print('\nAttempt 2...\n')
print(new_df.groupby(['category','town'])['amount'].mean())
print('\nAttempt 2...\n')
print(pd.pivot_table(new_df,index=["category"],values=["amount"],columns=["town"],aggfunc=[np.mean],fill_value=0))
Attempt 1...
town category
Los Angeles Book Stores 15.33
Cable TV 11.25
New York Book Stores 9.56
Cable TV 9.50
Name: amount, dtype: float64
Attempt 2...
category town
Book Stores Los Angeles 15.33
New York 9.56
Cable TV Los Angeles 11.25
New York 9.50
Name: amount, dtype: float64
Attempt 2...
mean
amount
town Los Angeles New York
category
Book Stores 15.33 9.56
Cable TV 11.25 9.50
我在纽约的书店平均每次获得 9.56 美元。
pd.DataFrame.from_dict()
:
{'customer_id': {0: 'n1',
1: 'n2',
2: 'n3',
3: 'n4',
4: 'n5',
5: 'n6',
6: 'n7',
7: 'n8',
8: 'n9',
9: 'la1',
10: 'la2',
11: 'la3',
12: 'la4',
13: 'la5',
14: 'la6',
15: 'la7'},
'town': {0: 'New York',
1: 'New York',
2: 'New York',
3: 'New York',
4: 'New York',
5: 'New York',
6: 'New York',
7: 'New York',
8: 'New York',
9: 'Los Angeles',
10: 'Los Angeles',
11: 'Los Angeles',
12: 'Los Angeles',
13: 'Los Angeles',
14: 'Los Angeles',
15: 'Los Angeles'},
'amount': {0: 12.5,
1: 4.49,
2: 11.7,
3: 15.0,
4: 7.0,
5: 6.0,
6: 15.0,
7: 7.0,
8: 7.0,
9: 15.0,
10: 15.99,
11: 15.0,
12: 7.0,
13: 15.99,
14: 15.0,
15: 7.0},
'category': {0: 'Book Stores',
1: 'Book Stores',
2: 'Book Stores',
3: 'Cable TV',
4: 'Cable TV',
5: 'Cable TV',
6: 'Cable TV',
7: 'Cable TV',
8: 'Cable TV',
9: 'Book Stores',
10: 'Book Stores',
11: 'Book Stores',
12: 'Cable TV',
13: 'Cable TV',
14: 'Cable TV',
15: 'Cable TV'}}
最佳答案
尝试自行计算每个聚合值:即
amounts = df.groupby(['town', 'category']).amount.sum()
ncostumers = df.groupby(['town']).size()
o = amounts.unstack(level=0) / ncostumers
print(o)
town Los Angeles New York
category
Book Stores 6.570000 3.187778
Cable TV 6.427143 6.333333
关于python - 试图获得某个城镇某家商店的平均消费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63411747/
这个问题不太可能帮助任何 future 的访客;它仅与一个小地理区域、一个特定时刻或一个非常狭窄的情况相关,而这些情况通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the
问题 我正在尝试为游戏创建一个城市生成器,该游戏创建具有类型(住宅、工业、商业)的 block 。我所有的街道都是 90 度,因为我希望它是 block 状的(而不是之字形)。 方法 我的第一个方法是
我正在尝试构建一个仅需要显示城市/城镇名称的自动完成文本字段。 所以我想做的是,当有人进入时 是它将显示 Amsterdam Amstelveen 所以它只会显示实际的城市名称,除此之外什么也不显示。
我正在创建一项服务,用户可以在其中访问世界任何地方的地址。首先,我认为 Google Places API 会很高兴,但看看这张图片(下图),问题是如何以正确的顺序过滤掉国家、城镇、街道地址。首先,我
我是一名优秀的程序员,十分优秀!