сетчатый пакет | благо для специалистов по данным

искусственный интеллект анализ данных задняя часть

предисловие

Если вы все еще боретесь: лучше использовать Python или R для науки о данных? Теперь мой ответ: не обязательно. Теперь переменные двух могут вызывать друг друга. Вы можете выполнять обработку данных в R (tidyverse), представить (ggplot2), используя Python для разработки. Для получения подробной информации, пожалуйста, обратитесь к этой статье:R против Python: в чем разница?

Это все для этого--сетчатый пакет

Пакет reticulate охватывает полный набор инструментов для взаимодействия между Python и R, доступных как в R, так и в Rstudio, в том числе:

1) Есть несколько способов вызвать Python в R. Включает R Markdown, загрузку скриптов Python, импорт модулей Python и интерактивное использование Python в сеансе R.

2) Реализовать преобразования между объектами R и Python (например, между фреймами данных R и Python, матрицами R и массивами NumPy).

Сеанс Python встроен в сеанс R, что обеспечивает беспрепятственное и высокопроизводительное взаимодействие. Если вы разработчик R и работаете с Python или работаете в двуязычной команде специалистов по данным, пакет reticulate может значительно упростить ваш рабочий процесс! Официальные источники доступны по адресу:сетчатый веб-сайт

Рамки этой статьи

Предварительная подготовка

Установите сетчатый пакет

Его можно установить и загрузить напрямую, что очень удобно.

 install.packages("reticulate")
 library("reticulate")

Загрузите библиотеку Python

Предположим, мы хотим использовать библиотеку pandas, но установки нет, тогда один из способов — запустить следующий код под движком R. Вы можете скачать стороннюю библиотеку python, а также проверить успешность установки и других операций.

 py_install("pandas") #下载scipy库
 py_module_available("pandas") #查看是否安装成功
 #repl_python()# 查看python路径
 #use_python("D:/anaconda/python.exe") #更换python路径

импортировать библиотеку питона

После установки сторонней библиотеки ее можно импортировать, что тоже делается под движком R.

 pd <- import("pandas")

Можно обнаружить, что это отличается от кода pthon:

  • import("os)вместоimport os
  • $вместо.
  • <-вместо=

3. Общие операции

reticulate включает механизм Python для R Markdown со следующими функциями, см.reticulate: R interface to Python:

1) Блоки Python можно запускать в одном сеансе Python, встроенном в сеанс R. Также общие переменные/состояние между блоками Python.

2) Выходные данные Python для печати, включая графический вывод из matplotlib.

3) Доступ к объектам, созданным в блоках Python в R, можно получить с помощью объекта py.

4) Используйте объект r для доступа к объекту, созданному в блоке R, из Python.

Рисование

Вы можете рисовать прямо с помощью движка Python.

 import numpy as np 
 import matplotlib.pyplot as plt 
 # 计算正弦曲线上点的 x 和 y 坐标
 x = np.arange(0,  3  * np.pi,  0.1) 
 y = np.sin(x)
 plt.title("sine wave form")  # 使用 matplotlib 来绘制点
 plt.plot(x, y) 
 plt.show()

图片

прочитать файл

Как читать в питоне и как читать здесь, в основном то же самое, что и в Jupter Notebook. Прочтите таблицу данных в формате csv ниже.

 import pandas as pd
 df = pd.read_csv("test.csv", encoding="gbk")
 df.head()

图片

Возвращаемый df — это объект Python, мы видим, что таблица выглядит не очень хорошо, это объект Python в R.

Вызов переменных Python в блоках кода R

Я только что говорил о запуске блоков кода Python в Rmakdown, а не о запуске кода Python или вызове переменных Python в блоках кода R. Теперь давайте попробуем вызвать переменные Python в блоках кода R.

имя переменной py$python

Вызов метода Python в блоке кода R с именем переменной py$python

  • py эквивалентен объекту в Python
  • $ эквивалентен Pythonточка
  • python_variable_name — это имя переменной в блоке кода Python.

Например, в приведенной выше переменной Python df вызовите ее в R

 ```{r}
 py$df

图片

Теперь при вызове объекта Python df R по умолчанию преобразует его в объект R, поэтому содержимое остается таким же, а стиль кажется лучше.

source_python()

Переменные в файлах py можно импортировать с помощью source_python('путь к файлу py') в пакете reticulate, чтобы внешние переменные можно было использовать в блоках кода R. Например, я готовлю две строки A и B в data.py.

 A = '我是庄闪闪,'B = '来自浙江温州'

Запустите data.py в блоке кода R

 ```{r}library(reticulate)
 source_python("data.py")
 paste0(A, B)
 #我是庄闪闪,来自浙江温州

py_run_file()

Чтобы запустить файл test.py в папке проекта в блоке кода R, используйте следующий код

 library(reticulate)
 py_run_file("test.py")

сравнение типов данных

图片