Pythom: Сравните 2 столбца и запишите данные в листы Excel - PullRequest
0 голосов
/ 27 мая 2020
  1. Мне нужно сравнить два столбца: «EMAIL» и «LOCATION».
  2. Я использую электронную почту, потому что она более точна, чем имя для этой проблемы.
  3. Моя цель - найти общее количество мест, в которых работал каждый человек, просуммировать общее количество мест, чтобы выбрать, на какой лист будут записаны данные, и скопировать исходные данные на новый лист (вкладку).

  4. Мне нужно скопировать исходные данные со всеми повторяющимися местоположениями, и именно здесь эта проблема меня озадачивает.

Полный лист Excel

Пришлось использовать изображения, потому что сообщение было помечено как спам

Лист Excel (ОБРАЗЕЦ), который я читаю как фрейм данных: Образец электронной таблицы Excel

Пример:

TOMAPPLES@EXAMPLE.COM работал в WENDYS, FRANKS HUT и WALMART - это суммирует до 3 различных мест, которые я бы добавил в новый лист под названием SHEET: 3 В разных местах

SJONES22@GMAIL.COM работали в LONDONS TENT и YO UTUBE - это 2 разных местоположения, которые я бы добавил на новый лист под названием SHEET: 2 разных местоположения

MONTYJ@EXAMPLE.COM работал только в WALMART - этот пользователь будет добавлен в ЛИСТ: 1 Расположение

Результат:

  • данные скопированы на новые листы

Лист 2

Лист 2: в разных местах

Лист 3

Лист 3: в разных местах

Лист 4

Лист 4: разные места

Спасибо, что нашли время изучить мою проблему =)

1 Ответ

0 голосов
/ 27 мая 2020

Привет. Проверьте строки ниже, если они вам подходят.

import pandas as pd
df = pd.read_excel('sample.xlsx')

df1 = df.groupby(['Name','Location','Job']).count().reset_index()

# this is long line
df2 = df.groupby(['Name','Location','Job','Email']).agg({'Location':'count','Email':'count'}).rename(columns={'Location':'Location Count','Email':'Email Count'}).reset_index()

print(df1)
print('\n\n')
print(df2)

enter image description here

ниже приведены столбцы изменения вывода, чтобы проверить другие варианты

df1

        Name Location      Job  Email
0          Monty  Jakarta  Manager      1
1          Monty   Mumbai  Manager      1
2  Sahara Jonesh    Paris     Cook      2
3        Tom App  Jakarta    Buser      1
4        Tom App    Paris    Buser      2

df2 все столбцы

            Name Location  ... Location Count Email Count
0          Monty  Jakarta  ...              1           1
1          Monty   Mumbai  ...              1           1
2  Sahara Jonesh    Paris  ...              2           2
3        Tom App  Jakarta  ...              1           1
4        Tom App    Paris  ...              2           2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...