My Dataframe:
или:
Symbol List mic reuters_exchange_code
12 1COV.DE XETR .DE
13 2GB.DE XETR .DE
14 2HRA.DE XETR .DE
32 3IN.L XLON .L
64 888.L XLON .L
66 93M.DE XETR .DE
70 A1OS.DE XETR .DE
71 A2A.MI MTAA .MI
72 A3M.MC XMAD .MC
73 A4Y.DE XETR .DE
74 A5G.I XDUB .I
76 AAB.CO XCSE .CO
77 AAD.DE XETR .DE
78 AAG.DE XETR .DE
80 AAK.ST XSTO .ST
81 AALB.AS XAMS .AS
82 AAL.L XLON .L
83 AAM.S XSWX .S
84 AAQ.DE XETR .DE
86 AAS.L XLON .L
87 AA.L XLON .L
88 ABBN.S XVTX .S
Любые предложения, как преодолеть это?
В столбце 1 сначала отфильтруйте «XSWX» и «XVTX», чтобы получить «SW» и «VX» соответственно.
... затем в столбце 2 замените только строки «.С» на «SW» и «VX»
... чтобы получить результат, показывающий «AAM.SW» и «ABBN.VX» вместо текущих «ААМ.С» и «ААБН.С» в столбце индекса.
Хорошо, рад, но как мне это сделать? извините, меня никогда не спрашивали об этом раньше.
print(dataframe.reset_index()). Я использую reset_index(), потому что вижу, что symbol list — это ваш индекс в данном случае, и нам трудно его скопировать.
done print(dataframe.reset_index()) ... затем сохранить в html и прикрепить этот файл сюда?
Просто скопируйте вывод Jupyter Notebook и вставьте его в свой пост. Это так просто.
готово... получилось... надеюсь поможет =D
Можете ли вы сделать print(df[['Symbol List', 'mic', 'reuters_exchange_code']]), так как это все еще не копируется.
ага... сработало. Добавил данные по запросу. Спасибо





если я понимаю, что вы хотите:
#modify the code .S to SW for XSWX
df.loc[df['reuters_exchange_code'].eq('.S') & df['mic'].eq('XSWX'), 'reuters_exchange_code'] = 'SW'
#modify the code .S to VX for XVTX
df.loc[df['reuters_exchange_code'].eq('.S') & df['mic'].eq('XVTX'), 'reuters_exchange_code'] = 'VX'
:
:
#rebuild the symbol list
df['Symbol List'] = df['bats_name'] + df['reuters_exchange_code']
df = df.set_index('Symbol List')
Да, это идея, но когда я запускаю ваш код, я получаю недопустимый синтаксис, показывающий df['mic']
Я перезапустил ваш код, но результат такой же, как и раньше... хотя это правильная идея
Вы хотите использовать np.select, так как у вас более одного условия. Итак, мы можем исправить нашу колонку reuters_exchange_code. После этого мы заполняем Symbol List, соединяя bats_name с reuters_exchange_code следующим образом:
conditions = [
(df['mic'] == 'XSWX'),
(df['mic'] == 'XVTX')
]
choices = ['.SW','.VX']
df['reuters_exchange_code'] = np.select(conditions,
choices,
default=df['reuters_exchange_code'])
df['Symbol List'] = df['bats_name'] + df['reuters_exchange_code']
print(df)
Symbol List bats_name company_name mic \
0 1COV.DE 1COV Covestro AG XETR
1 2GB.DE 2GB G Energy AG XETR
2 2HRA.DE 2HRA H&R GmbH & Co KGaA XETR
3 3IN.L 3IN 3i Infrastructure PLC XLON
4 888.L 888 888 Holdings PLC XLON
5 93M.DE 93M MPH Health Care AG XETR
6 A1OS.DE A1OS All for One Steeb AG XETR
7 A2A.MI A2A A2A SpA MTAA
8 A3M.MC A3M Atresmedia Corp de Medios de Comunicacion SA XMAD
9 A4Y.DE A4Y Accentro Real Estate AG XETR
10 A5G.I A5G AIB Group PLC XDUB
11 AAB.CO AAB Aalborg Boldspilklub A/S XCSE
12 AAD.DE AAD Amadeus Fire AG XETR
13 AAG.DE AAG Aumann AG XETR
14 AAK.ST AAK AAK AB XSTO
15 AALB.AS AALB Aalberts Industries NV XAMS
16 AAL.L AAL Anglo American PLC XLON
17 AAM.SW AAM Anglo American PLC XSWX
18 AAQ.DE AAQ AAP Implantate AG XETR
19 AAS.L AAS Aberdeen Standard Asia Focus PLC XLON
20 AA.L AA AA PLC XLON
21 ABBN.VX ABBN ABB Ltd XVTX
22 ABB.MC ABB AB-Biotics SA XMAD
23 ABB.ST ABB ABB Ltd XSTO
24 ABCA.PA ABCA ABC arbitrage XPAR
25 ABEO.PA ABEO Abeo SA XPAR
26 ABF.L ABF Associated British Foods PLC XLON
27 ABGP.MC ABGP Abengoa SA XMAD
28 ABG.MC ABG Abengoa SA XMAD
29 ABIO.PA ABIO Albioma SA XPAR
reuters_exchange_code
0 .DE
1 .DE
2 .DE
3 .L
4 .L
5 .DE
6 .DE
7 .MI
8 .MC
9 .DE
10 .I
11 .CO
12 .DE
13 .DE
14 .ST
15 .AS
16 .L
17 .SW
18 .DE
19 .L
20 .L
21 .VX
22 .MC
23 .ST
24 .PA
25 .PA
26 .L
27 .MC
28 .MC
29 .PA
Давайте отфильтруем только строки, которые изменились, чтобы показать, что это сработало:
print(df[(df['mic'] == 'XSWX') | (df['mic'] == 'XVTX')][['Symbol List', 'mic', 'reuters_exchange_code']])
Symbol List mic reuters_exchange_code
17 AAM.SW XSWX .SW
21 ABBN.VX XVTX .VX
вау, это оно ... спасибо, это сработало! Какой гениальный =D
Приятного вам кодирования! @козёл
Я вижу, у вас есть фрейм данных в
jupyter notebook, но мы не можем скопировать скриншот. Пожалуйста,print()фрейм данных и вставьте его сюда, чтобы мы могли запустить код самостоятельно.