如何使用Panda获得数据帧中的确切行号,该数据帧在特定列中包含特定值?例如,我有以下数据帧:
Date Amount Merchant
0 3/4/2020 2367.25 Apple
1 3/5/2020 625.09 Best Buy
2 3/6/2020 4.99 Pandora
3 3/7/2020 68.26 Amazon
到目前为止,我使用的代码遍历了“商户”列,并在字典中查找,其中每个商户都是键,值是一个包含总账代码和总账描述的列表
我的问题是,根据购买的物品,某些商家可能有2个总账代码,通常超过1000美元的物品将被分配一个不同的总账代码,而不是通常分配给1000美元以下的物品
当程序迭代时,它将到达具有2个可能GL代码的商户,所有特殊商户都在名为SpecialMerchants的列表中。我所拥有的只是csv文件中的商户名称,如何使用该名称定位该商户所在的行号,并将其与金额列匹配
for i in df['Merchant']:
for key in DicOfGLs:
if key in i:
for SpecialKey in SpecialMerchants:
if SpecialKey == key:
print(df.loc[i])
if ExpenseDF['Amount'] > 1000.00:
df[key] = pd.Series([df[key][1][0]])
df[key] = pd.Series([df[key][1][1]])
else:
df[key] = pd.Series([df[key][0][0]])
df[key] = pd.Series([df[key][0][1]])
else:
df['GL Code'] = pd.Series([df[key][0]])
df['GL Description'] = pd.Series([df[key][1]])
以下是一些德国劳埃德船级社代码和说明以及特殊商户列表的片段
DicOfGLs = {
'BESTBUY': {0: ['760.6500.00', 'IT SUPPLIES'], 1: ['760.7110.00', 'IT COMPUTER EXPENSE']},
'APPLE': {0: ['760.6500.00', 'IT SUPPLIES'], 1: ['760.7110.00', 'IT COMPUTER EXPENSE']},
'MICROSOFT': ['760.7100.00', 'SOFTWARE']
}
SpecialMerchants = [
'BESTBUY',
'APPLE',
'APPLE STORE',
'MICROCENTER',
'Amazon.com',
'AMZN MKTP US*'
]
查找商户数据框的索引。可以使用索引。下面是一个例子。文件的内容与您在问题中给出的内容相同
索引将返回一个元组,给出该商户所在行的索引以及索引的数据类型。因此,为了只获取索引值,我添加了索引[0]
相关问题 更多 >
编程相关推荐