Как исправить столбец, используя цикл For и помещая в другой столбец, используя python pandas? - PullRequest
0 голосов
/ 13 марта 2019

Вставил код ниже. Необходимо исправить имя бухгалтера и сделать каждый вариант одинаковым (не имеет значения, какой вариант, если каждый из них одинаков). Я полагал, что есть 2 варианта: 1) использовать словарь или 2) пытаться исправить имя, основываясь на совпадении первых 3 букв имени бухгалтера.

import pandas as pd
import numpy as np
data = {'Accountant Name':
            ['Sindman Traub LLP', 'Sindman Traub LLC', 'Sindman Traub PLLC',
             'McCrumb & Assoc.', 'McCrumb & Associates LLC', 'Lee & Mike',
             'Lee & Mike LLC', 'Lee & Mike Inc','Sindman Traub Corp'],
        'Cost':[10, 9, 15, 4, 13, 25, 2, 89, 44]}
df = pd.DataFrame(data)
df['AverageCost'] =np.nan
df['Fixed Accountant Name'] =np.nan
df = df.sort_values(by=['Accountant Name'], ascending = True)

Выход =

outputdata = {'Accountant Name':['Sindman Traub LLP', 'Sindman Traub LLC', 'Sindman Traub PLLC',
                                 'McCrumb & Assoc.', 'McCrumb & Associates LLC', 'Lee & Mike',
                                 'Lee & Mike LLC', 'Lee & Mike Inc','Sindman Traub Corp'],
              'Cost':[10, 9, 15, 4, 13, 25, 2, 89, 44],
              'Fixed Accountant Name':['Sindman Traub', 'Sindman Traub','Sindman Traub',
                                       'McCrumb and Associates', 'McCrumb and Associates',
                                       'Lee and Mike','Lee and Mike', 'Lee and Mike', 'Sindman Traub'],
              'AverageCost':[19.500000, 19.500000,19.500000,8.500000,8.500000, 38.666667,38.666667,38.666667,19.500000]}
outputdf = pd.DataFrame(outputdata)

enter image description here

1 Ответ

0 голосов
/ 13 марта 2019

Не уверен, что вы спрашиваете, поэтому, пожалуйста, опубликуйте ожидаемый результат.

Может быть, это?:

df['Fixed Accountant Name'] = [x[:3] for x in df['Accountant Name']]
df.groupby('Fixed Accountant Name')['Cost'].mean()
Fixed Accountant Name
Lee    38.666667
McC     8.500000
Sin    19.500000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...