Scraper Обновлено: 3 July, 2019

Управление данными с помощью Pandas с использованием Python.

  Перевод   Ссылка на автора

Кредиты: GeoSpatial Training Services

Прежде чем начать, позвольте мне представить вам Панды Pandas - это библиотека Python, которая предоставляет высокопроизводительные и простые в использовании структуры данных, такие как ряды, Data Frame и Panel для инструментов анализа данных для языка программирования Python. Чтобы использовать библиотеку pandas и все ее структуры данных, вы должны сделать это, чтобы установить ее и импортировать. Смотрите документацию Панды библиотека для лучшего понимания и руководства по установке.

Шаги для расчета заработка на неполный рабочий день.

  1. Импорт необходимых (панд) библиотек.
  2. Хранение таких значений, как дата, время работы и заработанные деньги в кадре данных.
  3. Добавление большего количества строк в существующий DataFrame (обновление строк DataFrame).
  4. Расчет суммы заработанных денег и общей продолжительности работы.
  5. Построение гистограммы с датой против заработанных денег.
  6. Включая опцию поиска для того, чтобы поиск соответствующих дат работал.
  7. Наконец добавление опции начисления заработной платы.

Давайте начнем !!!

1. Импорт необходимых (панд) библиотек.

В этом уроке мы будем использовать только библиотеку pandas для выполнения перечисленных ниже вычислений, сама библиотека pandas предоставит нам возможность подсчета суммы и построения гистограммы, вам не нужно импортировать matplotlib для построения графика, библиотека pandas предоставит вам возможность построения гистограммы. Это было бы очень важно знать для построения гистограммы с использованием pandas DataFrame. Вам не нужно устанавливать какую-либо библиотеку pandas, если вы используете блокнот Google Colab, просто импортируйте ее. В противном случае вам придется вручную установить его в командной строке, сказав pip install pandas. Причина использования псевдонимов (pd) заключается в том, что мне не нужно писать в pandas каждый раз, когда я хочу использовать какие-либо методы, используя псевдонимы, вместо этого я могу написать имя pd.method.

# Importing pandas library.
import pandas as pd

2. Хранение таких значений, как дата, время работы и заработанные деньги в кадре данных.

# Creating a data frame df.
df = pd.DataFrame({'Date':['11/05/19', '12/05/19', '19/05/19', '25/05/19', '26/05/19', '1/06/19'],'Time Worked': [3, 3, 4, 3, 3, 4],'Money Earned': [33.94, 33.94, 46, 33.94, 33.94, 46]})# Head displays only the top 5 rows from the data frame.
df.head()
Хранение значений во фрейме данных.

На этом этапе я делю все данные на 3 столбца: «Данные, отработанное время и заработанные деньги». Столбец «Дата» показывает дату работы в формате дд / мм / гг, и она будет храниться в виде строки, время работы показывает общий объем выполненной работы за день (часы) в виде целого числа, а заработанные деньги показывал общее количество денег, заработанных за день (в долларах США), которое будет храниться как целое число. Здесь за один час минимальная заработная плата составляет 11,51 канадских долларов. Все это просто необработанные данные, которые позже сохраняются в пандах DataFrame и распределяются в переменную df. Для этого просто используйте «pd.DataFrame» и передайте все данные, тем самым панды автоматически преобразуют необработанные данные в DataFrame. Я использую head (), потому что фрейм данных содержит 10 строк данных, поэтому, если я их распечатаю, они, вероятно, выглядят большими и занимают большую часть страницы, поэтому вместо этого head () отображает 5 лучших данных из фрейма данных.


3. Добавление большего количества строк в существующий DataFrame (обновление строк DataFrame)

На этом шаге мы узнаем, как добавить или добавить больше строк в существующий фрейм данных, это важный шаг, потому что часто вам часто приходится обновлять фрейм данных, добавляя больше строк, в этом примере я сначала создаю новый фрейм данных вызывается df2, а затем вызывает append (), передавая df2 в качестве параметра. Вы должны добавить новый фрейм данных к существующему фрейму данных, например df.append (df2) (существующий. Append (новый фрейм данных)), теперь внутри функции добавления у нас есть некоторые другие параметры, например ignore_index = True, это предотвращает данные от добавления нового индекса, поэтому в этом примере все индексы находятся в непрерывном режиме (с приращением), а следующий параметр - это sort = False, это потому, что мы не хотим сортировать данные по индексу, иначе наш данные будут полностью смешаны, вы можете поиграть с этими параметрами, изменив значения на False и True соответственно и отметьте разницу. Наконец, новый добавленный фрейм данных сохраняется в новой переменной df.

# Adding more rows
df2 = pd.DataFrame({‘Date’: [‘10/06/19’, ‘12/06/19’, ‘14/06/19’],
‘Time Worked’: [3, 4, 3],
‘Money Earned’: [33.94, 46, 33.94]})
df2
Хранение значений в новом фрейме данных df2
# Appending the rows of the old data frame to the new data frame.df = df.append(df2, ignore_index=True, sort = False)
df.head()
Присоединение строк старого фрейма данных к новому фрейму данных.

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

Этот шаг довольно прост, потому что мы просто получаем сумму столбцов «Earned Money» и «Time Worked», чтобы сделать это, все, что вам нужно сделать, это просто использовать sum (), которая вернет сумму всех данных из колонны. Я просто использую round () для Total_earnings, чтобы получить точные значения. Убедитесь, что вы передали правильное имя столбца внутри df, потому что, если имена столбцов не совпадают, это может создать вам проблемы. Наконец, я печатаю результаты более читабельным способом.

Total_earnings = df[‘Money Earned’].sum()
Total_time = df[‘Time Worked’].sum()print(“You have earned total of ====>” ,round(Total_earnings),“CAD”)
print(“ — — — — — — — — — — — — — — — — — — — — — — — — — — — ”)
print(“You have worked for a total of ====>”, Total_time, “hours”)
Печать результата общего заработка и отработанного времени.

5 Построение гистограммы с общей продолжительностью и заработанными деньгами

Как я упоминал ранее, для построения графика вам не нужно импортировать библиотеку matplot, у pandas есть plot (), которая поможет вам построить график в определенной степени. Я использовал plot () и передал «Date» и «Earned Money» в качестве значений x и y (потому что вам нужны значения x и y для построения графика;) и я хочу получить гистограмму, поэтому я использовал вид бар, вы также можете использовать строку, разброс по типу ключевого слова. Затем мы получаем красивую гистограмму со всеми значениями, построенными в соответствии с нашими ожиданиями.

# Plotting a bar graph using pandas library.
df.plot(x =’Date’, y=’Money Earned’, kind = ‘bar’)
Построение графика даты против заработанных денег.

Показанный выше не лучший способ построения графика, но я показал вам, ребята, что библиотека pandas может помочь вам построить график, иногда удобно использовать этот метод, когда будет меньше данных и меньше вычислений, все что вам нужно сделать, это построить график со значениями х и у.


6. Включая опцию поиска, чтобы искать соответствующие даты работали.

Это дополнительный шаг, просто чтобы дать ему почувствовать себя базой данных, которую я добавил в несколько функций, таких как опция поиска. В проектах реального времени это удобная функция, где вам часто приходится искать данные, там вы не можете искать их вручную, поэтому с помощью приведенного ниже фрагмента кода вы просто выполняете свою работу. В этом примере я использовал str.contains () для операции поиска и передал данные в качестве параметра, теперь данные являются переменной, которая содержит введенные пользователем данные для поиска. Когда вы вводите дату, str.contains () выполняет поиск введенной даты, и они отображают дату и соответствующие значения из фрейма данных. Это было бы полезно, если вы хотите выполнить поиск определенных данных и получить время и заработанные деньги, вы можете просто ввести дату и получить результаты быстрее, а не искать нужную дату вручную.

# Including a search option.
date = input(“Enter the date you want to search ===> “)
df[df[‘Date’].str.contains(date)]
Результат поиска.

7. Наконец добавление опции начисления заработной платы

Это больше похоже на необязательный (бонусный) шаг, потому что он генерирует платежную ведомость для введенных данных, это не генератор заработной платы промышленного уровня, а простой генератор заработной платы с другой функцией и выписками. Логика очень проста, чтобы понять, что все, что я сделал, взяло имя, часы и ставку в качестве пользовательских вводов, а затем умножило ставку и часы и сохранило их в total_money и заключило их в функцию.

# Function payroll contains calculation of total money.
def payroll():
name = input(“Enter the name of the employee: ==> “)
hours = int(input(“Enter the hours worked by the employee ==>“))
rate = float(input(“Enter the pay rate for one hour ==> “)) total_money = hours * rate print(“The total money earned by “, name, “for working “, hours, “hours”, “is ===> “, round(total_money), “CAD”)
Результат функции заработной платы.

Следовательно, именно так вы можете рассчитать частичную заработную плату, используя фрейм данных Pandas с питоном. Я знаю, что это легко понять, потому что я дал столько же объяснения кода, сколько смог, а остальное вы можете практиковать самостоятельно. Это хорошее начало, если вы немного знаете о библиотеке панд, вот некоторые основные методы, которые должны быть у вас под рукой. Я остановлюсь здесь и позволю вам попрактиковаться в коде. Если у вас есть какие-либо сомнения, дайте мне знать в разделе комментариев или напишите письмо на tanunprabhu95@gmail.com просто дайте мне знать вашу проблему, и я обязательно решу вашу проблему. Увидимся хорошего дня !!!!