Выполняется следующая команда:
sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
После этого в RStudio загрузка rJava выполняется через загрузку пакета «xlsx».
library("xlsx")
P.S. # 1 Окружающая среда: Mac OS X El Capitan 10.11.3+ с RStudio 0.99.491+ и R 3.2.3+. (Я тестировал это также на macOS Sierra (10.12) и R.3.3.1.)
P.S. # 2 Я нахожу, что openxlsx
работает намного быстрее и не полагается на работу Java, поэтому теперь я использую этот пакет. Надежда, которая помогает другим.
Правильный способ сделать это будет df["B"] = df["A"].map(equiv)
.
In [55]:
import pandas as pd
equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame( {"A": [7001, 8001, 9001]} )
df["B"] = df["A"].map(equiv)
print(df)
A B
0 7001 1
1 8001 2
2 9001 3
[3 rows x 2 columns]
И он будет обрабатывать ситуацию, когда ключ не существует очень красиво, учитывая следующий пример:
In [56]:
import pandas as pd
equiv = {7001:1, 8001:2, 9001:3}
df = pd.DataFrame( {"A": [7001, 8001, 9001, 10000]} )
df["B"] = df["A"].map(equiv)
print(df)
A B
0 7001 1
1 8001 2
2 9001 3
3 10000 NaN
[4 rows x 2 columns]