如何根据行值按整数列表划分pandas列

时间:2018-03-02 21:05:42

标签: python pandas dataframe

我有这个数据框:

x-match=any

如何根据位置(例如

)将计数列除以整数列表
  • 如果location1则将COUNT除以13

  • 如果location2则将COUNT除以85

  • 如果location3则将COUNT除以42

  • 如果locationx则将COUNT除以intx ...

2 个答案:

答案 0 :(得分:4)

以这种方式:

d = {'Location'+str(i): i*3 for i in range(1, 6)}

df['COUNT'] /= df['LOCATION'].map(d)

<强>解释

  1. 定义&#34; LOCATION&#34;之间的映射。和整数除数。字典对于此任务是有效的。
  2. 除以&#34; COUNT&#34;专栏&#34; LOCATION&#34;通过这本词典映射的列。

答案 1 :(得分:0)

我不熟悉.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']]