Я работал над проектом, который требует разбить 10-12 столбцов и сложить их. Единственная проблема в том, что мне приходится делать это неоднократно. Я имею в виду, как только я разделю 1 столбец, я складываю его, а затем повторяю те же шаги для других столбцов.
Хотя у меня нет проблем с запуском кода, я ищу способ сделать это более эффективно.
В настоящее время я повторяю один и тот же процесс 10-12 раз, и для запуска кода требуется некоторое время, поскольку существует более 50 имен столбцов.
df1 = (df1.set_index(['Announced Date', 'Completed Date', 'Target Company',
'Target Dominant Sector', 'Target Dominant Country', 'Target State',
'Target Financial Advisor', 'Target Legal Advisor', 'Target Broker',
'Target Accountant', 'Target PR', 'Target Consultant',
'Bidder Company', 'Bidder Dominant Country', 'Bidder State',
'Bidder Financial Advisor', 'Bidder Legal Advisor', 'Bidder Broker',
'Bidder Accountant', 'Bidder PR', 'Bidder Consultant',
'Seller Company', 'Seller Dominant Country', 'Seller State',
'Seller Financial Advisor', 'Seller Legal Advisor', 'Seller Broker',
'Seller Accountant', 'Seller PR', 'Seller Consultant',
'Reported Revenue Multiple Y1', 'Reported EBIT Multiple Y1', 'Reported EBITDA Multiple Y1',
'Reported PE Multiple Y1', 'Reported Book Value Multiple Y1', 'Deal Description',
'Deal Type', 'Deal Nature', "Deal Value USD(m)",
'Deal ID', 'Deal within regular criteria','Target companies',
'Target FAs', 'Taget LAs', "Taget Brokers",
"Target Accountants", 'Target PRs','Target Consultants',
'Bidder Companies', 'Bidder FAs', 'Bidder LAs',
"Bidder Brokers", "Bidder Accountants","Bidder PRs",
"Bidder Consultants",'Seller Companies']).stack()
.reset_index(level=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,
29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55], name='Seller FAs')
.reset_index(drop=True))
Я знаю, что вместо ввода всех имен столбцов я могу использовать
df1.columns
и вместо использования 0-55 номеров по отдельности, я могу использовать
np.arange(56)
Но я не могу включить их в код. Может кто-нибудь, пожалуйста, помогите мне сделать его более эффективным ??