我在 2 个单独的 .csv 文件中有两个数据框 第一个是:
Apple.count.out Orange.count.out Banana.count.out
Total stock 1000 500 1000
average_price 2 2 0.5
我把第一个写进了字典
fruit={(apple:1000),(orange:500),(banana:1000)}
df2 由包含单个水果库存的 store_name 列表组成,如下所示:
apple orange banana
store_a 60 25 1oo
store_b 100 25 200
store_c 200 100 200
store_d 300 300 200
我的任务是使用字典中的值来标准化各个商店中各个食品的库存,因为不同水果的库存总数首先是不同的。我想匹配字典名称检索键并编写一个函数来循环每一列,如果列名称与键匹配,则将每个商店中的计数除以计数总数(字典中的值)。把东西变成这样:
apple orange banana
store_a 0.6 0.05 0.1
store_b 0.10 0.05 0.2
store_c 0.20 0.20 0.2
store_d 0.30 0.60 0.2
我需要对每个值进行 log10 转换。我尝试使用以下功能:
import numpy as np
import pandas as pd
fruits = ['apple','orange','banana']
df2[fruits] = df2[fruits].apply(lambda x: (x/t) if t = df2.columns.values for t,u in fruit.items())
df2[fruits] = np.log10(df2[fruits])
但是这个功能似乎不能正常使用,我不确定这个功能是否足够优雅?我可以就如何改进它提出一些建议吗? 非常感谢您。