Картирование и трансформация CSV с помощью Pandas - PullRequest
1 голос
/ 26 сентября 2019

Я пытался решить простое сопоставление и преобразование с помощью Python и Pandas, но кажется, что я не двигаюсь в правильном направлении.

У меня есть простой CSV-файл, который мне нужно удалитьнекоторые столбцы, вставьте новые и вставьте некоторые данные в эти новые столбцы.

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

Мне удалось найти учебники с пандами, но никто из них не говорил об удалении / добавлении столбцов / новых данных.

IПолагаю, что читать код проще, чем пытаться его описать:

import numpy as np
import pandas as pd

# open file
data = pd.read_csv("sample_data.csv")

# delete columns
data = data.drop(['Current Status',
                  'Acquisition Channel',
                  'Attribution',
                  'Contact Record ID'],
                  axis='columns')

# rename Unit Price column to Total
data = data.rename(columns={'Unit Price': 'Total'})

# resort

data_blend = {'CODE': ['1'],
              'Company': data['Company ID'],
              'DEPARTMENT': np.nan,
              'CLASS': np.nan,
              'SALES': data['Total']>0,
              'RETURNS': data['Total']<0,
              'UNITS': data['Quantity'],
              'DATE-TRAN': data['Transaction ID'],
              'TRDATE-CCCCMMDD': data['Date'],
              'SKU-NEW': data['Product ID'],
              'TRX-SOURCE': ['8'],
              'ASSISTED-SALE': ['A'],
              'RET-ORIG-DATE': data['Transaction ID'],
              'RET-ORIG-TERM': data['Date'],
              'TIME-HHMM00': ['AAAAAA'],
              }

modified_data = pd.DataFrame.from_dict(data_blend)

Я ценю любую помощь по этому вопросу.

1 Ответ

0 голосов
/ 27 сентября 2019

Я не уверен, что понимаю ваши потребности, но постараюсь сделать все возможное.

#you can loop over your companies like so:
for company in data['Company ID']:
   # Do whatever, for example test if Total > 0 
   if data["Total"][data['Company ID'] == company] > 0:
      # do something

Если вы хотите добавить столбцы, вы можете

# create a list like so 
my_list = []
# after appending what you want you build a new column like so
data["somename"] = my_list

Я могубольше вам не поможет, точно не зная вашей проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...