我有这个数据框:
import pandas as pd
import numpy as np
df = pd.DataFrame({ 'CITY' : np.random.choice(['PHOENIX','ATLANTA','CHICAGO', 'MIAMI', 'DENVER'], 1000),
'DAY': np.random.choice(['Monday','Tuesday','Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], 1000),
'LOCATION' : np.random.choice(['Location1','Location2','Location3', 'Location4', 'Location5'], 1000),
'COUNT': np.random.randint(1, 700, size=1000)})
print(df)
CITY COUNT DAY LOCATION
0 DENVER 521 Wednesday Location4
1 MIAMI 123 Saturday Location3
2 ATLANTA 122 Wednesday Location3
3 DENVER 363 Saturday Location1
4 PHOENIX 656 Saturday Location4
5 PHOENIX 369 Saturday Location3
6 MIAMI 455 Tuesday Location5
如何根据位置(例如)将计数列除以整数列表
如果位置1,则将 COUNT 除以 13
如果位置2,则将 COUNT 除以 85
如果位置3,则将 COUNT 除以 42
如果 locationx,则将 COUNT 除以 intx...
最佳答案
这是一种方法:
d = {'Location'+str(i): i*3 for i in range(1, 6)}
df['COUNT'] /= df['LOCATION'].map(d)
说明
- 定义“LOCATION”和整数除数之间的映射。字典对于这项任务来说是有效的。
- 将“COUNT”列除以通过此字典映射的“LOCATION”列。
关于python - 如何根据行值将 pandas 列除以整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49077405/