Поиск значения в словаре для заполнения столбца excel в python [duplicate]

Выполняется следующая команда:

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, поэтому теперь я использую этот пакет. Надежда, которая помогает другим.

39
задан CT Zhu 14 June 2014 в 05:11
поделиться

1 ответ

Правильный способ сделать это будет 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]
60
ответ дан CT Zhu 29 August 2018 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: