我有这个数据框:
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
如何将count列除以基于位置的整数列表,例如
如果位置1,则将计数除以13
如果位置2,则将计数除以85
如果位置3,则将计数除以42
如果是locationx,则将COUNT除以intx。。。
有一种方法:
说明
我对
.map()
不太熟悉,所以下面是我的方法(这可能在计算上要贵一些):df['COUNT'] = None locations = {location: to_divide_by, location2: to_divide_by2} # and so on for index, row in df.iterrows(): df['COUNT'][index] = row['COUNT'] / locations[row['LOCATION']]
相关问题 更多 >
编程相关推荐