У меня есть фрейм данных pandas только с одним столбцом, содержащим символы. Мне нужно разделить эти символы на группы по 13 и 39 внутри одной строки.
symbol
3IINFOTECH
3MINDIA
3PLAND
20MICRONS
3RDROCK
5PAISA
63MOONS
7SEASL
ANNAINFRA
AFEL
ABCOTS.ST
ABINFRA
AKCAPIT
AAL
ASMTEC
AAPLUSTRAD
A2ZINFRA
AMJUMBO
AARSHYAM
AARVINFRA
ABBOTINDIA
AARCOM
ABCINDQ
Я извлек столбец данных Python в список, а затем присоединил их к строке следующим образом:
nse_disjoined_list = nse_disjoined_df['symbol'].tolist()
nse_string = ','.join(nse_disjoined_list)
nse_string = '3RDROCK,AARON,AARVI,ABCOTS.ST,ABINFRA,ABMINTLLTD,ACCORD,ACCURACY,ACEINTEG,AGROPHOS,AHIMSA,AHLADA,AILIMITED,AIROLAM,AJOONI,AKASH,AKG,AMBANIORG,AMJUMBO,ANTGRAPHIC,APOLSINHOT,ARTNIRMAN,ARVEE,ASCOM,ASLIND,ATALREAL,AURDIS,AVSL,BANKA,BANKNIFTY,BDR,BETA,BEWLTD,BMETRICS,BOHRA,BSE,BSHSL,CADSYS,CDSL,CNX100,CNX200,CNXMIDCAP,CNXPSUBANK,CONSOFINVT,CONSUMBEES,COOLCAPS.ST,CROWN,DANGEE,DESTINY,DIGJAMLMTD,DIL,DKEGL,DPABHUSHAN,DPWIRES,DRSDILIP,DUGLOBAL,EIFFL,ELGIRUBCO,EMKAYTOOLS,EUROBOND.ST,FELIX,FOCE,GANGAFORGE,GEEKAYWIRE,GIRIRAJ,GIRRESORTS,GKWLIMITED,GOLDSTAR,GRETEX,GROBTEA,HECPROJECT,HINDCON,ICEMAKE,INNOVANA,IRISDOREME,JAINAM,JAIPURKURT,JAKHARIA,JALAN,JASH,JETKNIT,JMA,JOCIL,JSLL.ST,KEERTI,KKVAPOW,KNAGRI.ST,KOTARISUG,KOTHARISUG,KOTYARK.ST,KRISHANA,KRISHIVAL.ST,KRISHNADEF,KRITIKA,KSHITIJPOL,KSOLVES,LAGNAM,LATTEYS,LAXMICOT,LEMERITE.ST,LEXUS,LFIC,LGHL,MACPOWER,MADHAVBAUG,MAHESHWARI,MAHICKRA,MANAV,MANGTIMBER,MARSHALL,MBAPL,MCL,MDL,MGEL,MHHL,MILTON,MITTAL,MKPL,MMP,MOKSH,MPTODAY,MSTCLTD,NDGL,NIDAN,NIDAN.ST,NIFTY,NIFTYALPHA50,NIRAJISPAT,NITIRAJ,NPST,NRL,OMFURN,ONEPOINT,OSEINTRUST,OSIAHYPER,OSWALSEEDS,PANSARI,PAR,PARIN,PARTYCRUS,PASHUPATI,PAVNAIND,PENTAGOLD,PERFECT,PKTEA,PRECISION.ST,PRECOT,PRITI,PROLIFE,PROPEQUITY.ST,QUADPRO,RAJMET,RELIABLE,REPL,REXPIPES,RKEC,RMDRIP,ROHITFERRO,RPPL,SAGARDEEP,SAKAR,SANGINITA,SECL,SERVOTECH,SHAIVAL,SHANTI,SHIGAN.ST,SHIVAUM,SHRADHA,SHREMINVIT,SHRENIK,SHUBHLAXMI,SIDDHIKA,SIGMA,SIKKO,SILGO,SILLYMONKS,SINTERCOM,SKSTEXTILE,SMVD,SOLEX,SONAHISONA,SONAMCLOCK,SOUTHWEST,SPCENET,SPRL.ST,SRIRAM,SRPL,STEELCITY,SUMIT,SUPREMEENG,SURANI,SUULD,SVLL,SWARAJ,TARACHAND,TEMBO,THEJO,TIRUPATI,TIRUPATIFL,TOTAL,TOUCHWOOD,UCL,UNIINFO,UNITEDPOLY,UNITEDTEA,UNIVASTU,URAVI,UWCSL,VAISHALI,VARDHACRLC,VASA,VCL,VENKEYS,VERA,VERTOZ,VIRESCENT,VMARCIND'
Я хочу разделить эту строку на отдельные строки по 13 и 39 слов каждая. Пример строки из 13 слов
'3RDROCK,AARON,AARVI,ABCOTS.ST,ABINFRA,ABMINTLLTD,ACCORD,ACCURACY,ACEINTEG,AGROPHOS,AHIMSA,AHLADA,AILIMITED'
'AIROLAM,AJOONI,AKASH,AKG,AMBANIORG,AMJUMBO,ANTGRAPHIC,APOLSINHOT,ARTNIRMAN,ARVEE,ASCOM,ASLIND,AHLADA'
Точно так же мне нужна строка из 39 слов.
Выше сделано вручную.
Я пробовал пакетные инструменты itertools
list(it.batched(symbols, 13))
и ответ из здесь, но все они разделили его, учитывая каждый персонаж, производящий этот результат
[('3', 'R', 'D', 'R', 'O', 'C', 'K', ',', 'A', 'A', 'R', 'O', 'N'),
(',', 'A', 'A', 'R', 'V', 'I', ',', 'A', 'B', 'C', 'O', 'T', 'S'),
('.', 'S', 'T', ',', 'A', 'B', 'I', 'N', 'F', 'R', 'A', ',', 'A'),
('B', 'M', 'I', 'N', 'T', 'L', 'L', 'T', 'D', ',', 'A', 'C', 'C'),
('O', 'R', 'D', ',', 'A', 'C', 'C', 'U', 'R', 'A', 'C', 'Y', ','),
('A', 'C', 'E', 'I', 'N', 'T', 'E', 'G', ',', 'A', 'G', 'R', 'O'),
('P', 'H', 'O', 'S', ',', 'A', 'H', 'I', 'M', 'S', 'A', ',', 'A'),
('H', 'L', 'A', 'D', 'A', ',', 'A', 'I', 'L', 'I', 'M', 'I', 'T'),
('E', 'D', ',', 'A', 'I', 'R', 'O', 'L', 'A', 'M', ',', 'A', 'J'),
('O', 'O', 'N', 'I', ',', 'A', 'K', 'A', 'S', 'H', ',', 'A', 'K'),
('G', ',', 'A', 'M', 'B', 'A', 'N', 'I', 'O', 'R', 'G', ',', 'A'),
('M', 'J', 'U', 'M', 'B', 'O', ',', 'A', 'N', 'T', 'G', 'R', 'A'),
('P', 'H', 'I', 'C', ',', 'A', 'P', 'O', 'L', 'S', 'I', 'N', 'H'),
('O', 'T', ',', 'A', 'R', 'T', 'N', 'I', 'R', 'M', 'A', 'N', ','),
('A', 'R', 'V', 'E', 'E', ',', 'A', 'S', 'C', 'O', 'M', ',', 'A'),
('S', 'L', 'I', 'N', 'D', ',', 'A', 'T', 'A', 'L', 'R', 'E', 'A'),
('L', ',', 'A', 'U', 'R', 'D', 'I', 'S', ',', 'A', 'V', 'S', 'L'),
(',', 'B', 'A', 'N', 'K', 'A', ',', 'B', 'A', 'N', 'K', 'N', 'I'),
('F', 'T', 'Y', ',', 'B', 'D', 'R', ',', 'B', 'E', 'T', 'A', ','),
('B', 'E', 'W', 'L', 'T', 'D', ',', 'B', 'M', 'E', 'T', 'R', 'I'),
('C', 'S', ',', 'B', 'O', 'H', 'R', 'A', ',', 'B', 'S', 'E', ','),
('B', 'S', 'H', 'S', 'L', ',', 'C', 'A', 'D', 'S', 'Y', 'S', ','),
('C', 'D', 'S', 'L', ',', 'C', 'N', 'X', '1', '0', '0', ',', 'C'),
('N', 'X', '2', '0', '0', ',', 'C', 'N', 'X', 'M', 'I', 'D', 'C'),
('A', 'P', ',', 'C', 'N', 'X', 'P', 'S', 'U', 'B', 'A', 'N', 'K'),
(',', 'C', 'O', 'N', 'S', 'O', 'F', 'I', 'N', 'V', 'T', ',', 'C'),
('O', 'N', 'S', 'U', 'M', 'B', 'E', 'E', 'S', ',', 'C', 'O', 'O'),
('L', 'C', 'A', 'P', 'S', '.', 'S', 'T', ',', 'C', 'R', 'O', 'W'),
('N', ',', 'D', 'A', 'N', 'G', 'E', 'E', ',', 'D', 'E', 'S', 'T'),
('I', 'N', 'Y', ',', 'D', 'I', 'G', 'J', 'A', 'M', 'L', 'M', 'T'),
('D', ',', 'D', 'I', 'L', ',', 'D', 'K', 'E', 'G', 'L', ',', 'D'),
('P', 'A', 'B', 'H', 'U', 'S', 'H', 'A', 'N', ',', 'D', 'P', 'W'),
('I', 'R', 'E', 'S', ',', 'D', 'R', 'S', 'D', 'I', 'L', 'I', 'P'),
(',', 'D', 'U', 'G', 'L', 'O', 'B', 'A', 'L', ',', 'E', 'I', 'F'),
('F', 'L', ',', 'E', 'L', 'G', 'I', 'R', 'U', 'B', 'C', 'O', ','),
('E', 'M', 'K', 'A', 'Y', 'T', 'O', 'O', 'L', 'S', ',', 'E', 'U'),
('R', 'O', 'B', 'O', 'N', 'D', '.', 'S', 'T', ',', 'F', 'E', 'L'),
('I', 'X', ',', 'F', 'O', 'C', 'E', ',', 'G', 'A', 'N', 'G', 'A'),
('F', 'O', 'R', 'G', 'E', ',', 'G', 'E', 'E', 'K', 'A', 'Y', 'W'),
('I', 'R', 'E', ',', 'G', 'I', 'R', 'I', 'R', 'A', 'J', ',', 'G'),
('I', 'R', 'R', 'E', 'S', 'O', 'R', 'T', 'S', ',', 'G', 'K', 'W'),
('L', 'I', 'M', 'I', 'T', 'E', 'D', ',', 'G', 'O', 'L', 'D', 'S'),
('T', 'A', 'R', ',', 'G', 'R', 'E', 'T', 'E', 'X', ',', 'G', 'R'),
('O', 'B', 'T', 'E', 'A', ',', 'H', 'E', 'C', 'P', 'R', 'O', 'J'),
('E', 'C', 'T', ',', 'H', 'I', 'N', 'D', 'C', 'O', 'N', ',', 'I'),
('C', 'E', 'M', 'A', 'K', 'E', ',', 'I', 'N', 'N', 'O', 'V', 'A'),
('N', 'A', ',', 'I', 'R', 'I', 'S', 'D', 'O', 'R', 'E', 'M', 'E'),
(',', 'J', 'A', 'I', 'N', 'A', 'M', ',', 'J', 'A', 'I', 'P', 'U'),
('R', 'K', 'U', 'R', 'T', ',', 'J', 'A', 'K', 'H', 'A', 'R', 'I'),
('A', ',', 'J', 'A', 'L', 'A', 'N', ',', 'J', 'A', 'S', 'H', ','),
('J', 'E', 'T', 'K', 'N', 'I', 'T', ',', 'J', 'M', 'A', ',', 'J'),
('O', 'C', 'I', 'L', ',', 'J', 'S', 'L', 'L', '.', 'S', 'T', ','),
('K', 'E', 'E', 'R', 'T', 'I', ',', 'K', 'K', 'V', 'A', 'P', 'O'),
('W', ',', 'K', 'N', 'A', 'G', 'R', 'I', '.', 'S', 'T', ',', 'K'),
('O', 'T', 'A', 'R', 'I', 'S', 'U', 'G', ',', 'K', 'O', 'T', 'H'),
('A', 'R', 'I', 'S', 'U', 'G', ',', 'K', 'O', 'T', 'Y', 'A', 'R'),
('K', '.', 'S', 'T', ',', 'K', 'R', 'I', 'S', 'H', 'A', 'N', 'A'),
(',', 'K', 'R', 'I', 'S', 'H', 'I', 'V', 'A', 'L', '.', 'S', 'T'),
(',', 'K', 'R', 'I', 'S', 'H', 'N', 'A', 'D', 'E', 'F', ',', 'K'),
('R', 'I', 'T', 'I', 'K', 'A', ',', 'K', 'S', 'H', 'I', 'T', 'I'),
('J', 'P', 'O', 'L', ',', 'K', 'S', 'O', 'L', 'V', 'E', 'S', ','),
('L', 'A', 'G', 'N', 'A', 'M', ',', 'L', 'A', 'T', 'T', 'E', 'Y'),
('S', ',', 'L', 'A', 'X', 'M', 'I', 'C', 'O', 'T', ',', 'L', 'E'),
('M', 'E', 'R', 'I', 'T', 'E', '.', 'S', 'T', ',', 'L', 'E', 'X'),
('U', 'S', ',', 'L', 'F', 'I', 'C', ',', 'L', 'G', 'H', 'L', ','),
('M', 'A', 'C', 'P', 'O', 'W', 'E', 'R', ',', 'M', 'A', 'D', 'H'),
('A', 'V', 'B', 'A', 'U', 'G', ',', 'M', 'A', 'H', 'E', 'S', 'H'),
('W', 'A', 'R', 'I', ',', 'M', 'A', 'H', 'I', 'C', 'K', 'R', 'A'),
(',', 'M', 'A', 'N', 'A', 'V', ',', 'M', 'A', 'N', 'G', 'T', 'I'),
('M', 'B', 'E', 'R', ',', 'M', 'A', 'R', 'S', 'H', 'A', 'L', 'L'),
(',', 'M', 'B', 'A', 'P', 'L', ',', 'M', 'C', 'L', ',', 'M', 'D'),
('L', ',', 'M', 'G', 'E', 'L', ',', 'M', 'H', 'H', 'L', ',', 'M'),
('I', 'L', 'T', 'O', 'N', ',', 'M', 'I', 'T', 'T', 'A', 'L', ','),
('M', 'K', 'P', 'L', ',', 'M', 'M', 'P', ',', 'M', 'O', 'K', 'S'),
('H', ',', 'M', 'P', 'T', 'O', 'D', 'A', 'Y', ',', 'M', 'S', 'T'),
('C', 'L', 'T', 'D', ',', 'N', 'D', 'G', 'L', ',', 'N', 'I', 'D'),
('A', 'N', ',', 'N', 'I', 'D', 'A', 'N', '.', 'S', 'T', ',', 'N'),
('I', 'F', 'T', 'Y', ',', 'N', 'I', 'F', 'T', 'Y', 'A', 'L', 'P'),
('H', 'A', '5', '0', ',', 'N', 'I', 'R', 'A', 'J', 'I', 'S', 'P'),
('A', 'T', ',', 'N', 'I', 'T', 'I', 'R', 'A', 'J', ',', 'N', 'P'),
('S', 'T', ',', 'N', 'R', 'L', ',', 'O', 'M', 'F', 'U', 'R', 'N'),
(',', 'O', 'N', 'E', 'P', 'O', 'I', 'N', 'T', ',', 'O', 'S', 'E'),
('I', 'N', 'T', 'R', 'U', 'S', 'T', ',', 'O', 'S', 'I', 'A', 'H'),
('Y', 'P', 'E', 'R', ',', 'O', 'S', 'W', 'A', 'L', 'S', 'E', 'E'),
('D', 'S', ',', 'P', 'A', 'N', 'S', 'A', 'R', 'I', ',', 'P', 'A'),
('R', ',', 'P', 'A', 'R', 'I', 'N', ',', 'P', 'A', 'R', 'T', 'Y'),
('C', 'R', 'U', 'S', ',', 'P', 'A', 'S', 'H', 'U', 'P', 'A', 'T'),
('I', ',', 'P', 'A', 'V', 'N', 'A', 'I', 'N', 'D', ',', 'P', 'E'),
('N', 'T', 'A', 'G', 'O', 'L', 'D', ',', 'P', 'E', 'R', 'F', 'E'),
('C', 'T', ',', 'P', 'K', 'T', 'E', 'A', ',', 'P', 'R', 'E', 'C'),
('I', 'S', 'I', 'O', 'N', '.', 'S', 'T', ',', 'P', 'R', 'E', 'C'),
('O', 'T', ',', 'P', 'R', 'I', 'T', 'I', ',', 'P', 'R', 'O', 'L'),
('I', 'F', 'E', ',', 'P', 'R', 'O', 'P', 'E', 'Q', 'U', 'I', 'T'),
('Y', '.', 'S', 'T', ',', 'Q', 'U', 'A', 'D', 'P', 'R', 'O', ','),
('R', 'A', 'J', 'M', 'E', 'T', ',', 'R', 'E', 'L', 'I', 'A', 'B'),
('L', 'E', ',', 'R', 'E', 'P', 'L', ',', 'R', 'E', 'X', 'P', 'I'),
('P', 'E', 'S', ',', 'R', 'K', 'E', 'C', ',', 'R', 'M', 'D', 'R'),
('I', 'P', ',', 'R', 'O', 'H', 'I', 'T', 'F', 'E', 'R', 'R', 'O'),
(',', 'R', 'P', 'P', 'L', ',', 'S', 'A', 'G', 'A', 'R', 'D', 'E'),
('E', 'P', ',', 'S', 'A', 'K', 'A', 'R', ',', 'S', 'A', 'N', 'G'),
('I', 'N', 'I', 'T', 'A', ',', 'S', 'E', 'C', 'L', ',', 'S', 'E'),
('R', 'V', 'O', 'T', 'E', 'C', 'H', ',', 'S', 'H', 'A', 'I', 'V'),
('A', 'L', ',', 'S', 'H', 'A', 'N', 'T', 'I', ',', 'S', 'H', 'I'),
('G', 'A', 'N', '.', 'S', 'T', ',', 'S', 'H', 'I', 'V', 'A', 'U'),
('M', ',', 'S', 'H', 'R', 'A', 'D', 'H', 'A', ',', 'S', 'H', 'R'),
('E', 'M', 'I', 'N', 'V', 'I', 'T', ',', 'S', 'H', 'R', 'E', 'N'),
('I', 'K', ',', 'S', 'H', 'U', 'B', 'H', 'L', 'A', 'X', 'M', 'I'),
(',', 'S', 'I', 'D', 'D', 'H', 'I', 'K', 'A', ',', 'S', 'I', 'G'),
('M', 'A', ',', 'S', 'I', 'K', 'K', 'O', ',', 'S', 'I', 'L', 'G'),
('O', ',', 'S', 'I', 'L', 'L', 'Y', 'M', 'O', 'N', 'K', 'S', ','),
('S', 'I', 'N', 'T', 'E', 'R', 'C', 'O', 'M', ',', 'S', 'K', 'S'),
('T', 'E', 'X', 'T', 'I', 'L', 'E', ',', 'S', 'M', 'V', 'D', ','),
('S', 'O', 'L', 'E', 'X', ',', 'S', 'O', 'N', 'A', 'H', 'I', 'S'),
('O', 'N', 'A', ',', 'S', 'O', 'N', 'A', 'M', 'C', 'L', 'O', 'C'),
('K', ',', 'S', 'O', 'U', 'T', 'H', 'W', 'E', 'S', 'T', ',', 'S'),
('P', 'C', 'E', 'N', 'E', 'T', ',', 'S', 'P', 'R', 'L', '.', 'S'),
('T', ',', 'S', 'R', 'I', 'R', 'A', 'M', ',', 'S', 'R', 'P', 'L'),
(',', 'S', 'T', 'E', 'E', 'L', 'C', 'I', 'T', 'Y', ',', 'S', 'U'),
('M', 'I', 'T', ',', 'S', 'U', 'P', 'R', 'E', 'M', 'E', 'E', 'N'),
('G', ',', 'S', 'U', 'R', 'A', 'N', 'I', ',', 'S', 'U', 'U', 'L'),
('D', ',', 'S', 'V', 'L', 'L', ',', 'S', 'W', 'A', 'R', 'A', 'J'),
(',', 'T', 'A', 'R', 'A', 'C', 'H', 'A', 'N', 'D', ',', 'T', 'E'),
('M', 'B', 'O', ',', 'T', 'H', 'E', 'J', 'O', ',', 'T', 'I', 'R'),
('U', 'P', 'A', 'T', 'I', ',', 'T', 'I', 'R', 'U', 'P', 'A', 'T'),
('I', 'F', 'L', ',', 'T', 'O', 'T', 'A', 'L', ',', 'T', 'O', 'U'),
('C', 'H', 'W', 'O', 'O', 'D', ',', 'U', 'C', 'L', ',', 'U', 'N'),
('I', 'I', 'N', 'F', 'O', ',', 'U', 'N', 'I', 'T', 'E', 'D', 'P'),
('O', 'L', 'Y', ',', 'U', 'N', 'I', 'T', 'E', 'D', 'T', 'E', 'A'),
(',', 'U', 'N', 'I', 'V', 'A', 'S', 'T', 'U', ',', 'U', 'R', 'A'),
('V', 'I', ',', 'U', 'W', 'C', 'S', 'L', ',', 'V', 'A', 'I', 'S'),
('H', 'A', 'L', 'I', ',', 'V', 'A', 'R', 'D', 'H', 'A', 'C', 'R'),
('L', 'C', ',', 'V', 'A', 'S', 'A', ',', 'V', 'C', 'L', ',', 'V'),
('E', 'N', 'K', 'E', 'Y', 'S', ',', 'V', 'E', 'R', 'A', ',', 'V'),
('E', 'R', 'T', 'O', 'Z', ',', 'V', 'I', 'R', 'E', 'S', 'C', 'E'),
('N', 'T', ',', 'V', 'M', 'A', 'R', 'C', 'I', 'N', 'D')]
Заранее спасибо за ваше время.
В вашем примере одна строка из 13 слов и одна строка из 12 слов. В вашем примере 218 слов, поэтому не может быть 39 строк по 13 слов.
Почему ты сначала join
потом хочешь расстаться? Тогда гораздо проще сначала расстаться join
Если вы вызовете batched
в списке (перед присоединением к строке) и только потом объедините пакеты, это сработает.
С вашими общими данными все в порядке, но ваш вопрос неясен.
@DirtyHans Я обновил вопрос, чтобы внести больше ясности
@Hamza, чтобы сделать это более понятным, я предлагаю вам дать вашей строке имя (symbols
) и объяснить, как она создается в первую очередь (я предполагаю, что-то вроде symbols = ','.join(df['col'])
)
Почему ты сначала join
берешь веревку? Чтобы иметь возможность разделить, вам понадобятся отдельные слова.
Предполагая symbols
вашу длинную строку, вам нужно будет split
снова:
import more_itertools as it
list(map(','.join, it.batched(symbols.split(','), 13)))
Предполагая lst
список (или df['col']
столбец DataFrame), прежде чем присоединиться, вам лучше запустить:
list(map(','.join, it.batched(lst, 13)))
# or
list(map(','.join, it.batched(df['col'], 13)))
Выход:
['3RDROCK,AARON,AARVI,ABCOTS.ST,ABINFRA,ABMINTLLTD,ACCORD,ACCURACY,ACEINTEG,AGROPHOS,AHIMSA,AHLADA,AILIMITED',
'AIROLAM,AJOONI,AKASH,AKG,AMBANIORG,AMJUMBO,ANTGRAPHIC,APOLSINHOT,ARTNIRMAN,ARVEE,ASCOM,ASLIND,ATALREAL',
'AURDIS,AVSL,BANKA,BANKNIFTY,BDR,BETA,BEWLTD,BMETRICS,BOHRA,BSE,BSHSL,CADSYS,CDSL',
'CNX100,CNX200,CNXMIDCAP,CNXPSUBANK,CONSOFINVT,CONSUMBEES,COOLCAPS.ST,CROWN,DANGEE,DESTINY,DIGJAMLMTD,DIL,DKEGL',
'DPABHUSHAN,DPWIRES,DRSDILIP,DUGLOBAL,EIFFL,ELGIRUBCO,EMKAYTOOLS,EUROBOND.ST,FELIX,FOCE,GANGAFORGE,GEEKAYWIRE,GIRIRAJ',
'GIRRESORTS,GKWLIMITED,GOLDSTAR,GRETEX,GROBTEA,HECPROJECT,HINDCON,ICEMAKE,INNOVANA,IRISDOREME,JAINAM,JAIPURKURT,JAKHARIA',
'JALAN,JASH,JETKNIT,JMA,JOCIL,JSLL.ST,KEERTI,KKVAPOW,KNAGRI.ST,KOTARISUG,KOTHARISUG,KOTYARK.ST,KRISHANA',
'KRISHIVAL.ST,KRISHNADEF,KRITIKA,KSHITIJPOL,KSOLVES,LAGNAM,LATTEYS,LAXMICOT,LEMERITE.ST,LEXUS,LFIC,LGHL,MACPOWER',
'MADHAVBAUG,MAHESHWARI,MAHICKRA,MANAV,MANGTIMBER,MARSHALL,MBAPL,MCL,MDL,MGEL,MHHL,MILTON,MITTAL',
'MKPL,MMP,MOKSH,MPTODAY,MSTCLTD,NDGL,NIDAN,NIDAN.ST,NIFTY,NIFTYALPHA50,NIRAJISPAT,NITIRAJ,NPST',
'NRL,OMFURN,ONEPOINT,OSEINTRUST,OSIAHYPER,OSWALSEEDS,PANSARI,PAR,PARIN,PARTYCRUS,PASHUPATI,PAVNAIND,PENTAGOLD',
'PERFECT,PKTEA,PRECISION.ST,PRECOT,PRITI,PROLIFE,PROPEQUITY.ST,QUADPRO,RAJMET,RELIABLE,REPL,REXPIPES,RKEC',
'RMDRIP,ROHITFERRO,RPPL,SAGARDEEP,SAKAR,SANGINITA,SECL,SERVOTECH,SHAIVAL,SHANTI,SHIGAN.ST,SHIVAUM,SHRADHA',
'SHREMINVIT,SHRENIK,SHUBHLAXMI,SIDDHIKA,SIGMA,SIKKO,SILGO,SILLYMONKS,SINTERCOM,SKSTEXTILE,SMVD,SOLEX,SONAHISONA',
'SONAMCLOCK,SOUTHWEST,SPCENET,SPRL.ST,SRIRAM,SRPL,STEELCITY,SUMIT,SUPREMEENG,SURANI,SUULD,SVLL,SWARAJ',
'TARACHAND,TEMBO,THEJO,TIRUPATI,TIRUPATIFL,TOTAL,TOUCHWOOD,UCL,UNIINFO,UNITEDPOLY,UNITEDTEA,UNIVASTU,URAVI',
'UWCSL,VAISHALI,VARDHACRLC,VASA,VCL,VENKEYS,VERA,VERTOZ,VIRESCENT,VMARCIND']
Большое вам спасибо за вашу помощь. Это решает мой вопрос. Прошу прощения, если не смог лучше объяснить свой вопрос. Я спешил и думал, что сокращение до той точки, где я извлек столбцы фрейма данных в строку, было хорошей отправной точкой, но, оглядываясь назад, это было не так.
@Хамза, не волнуйся, не всегда легко узнать, сколько подробностей предоставить. Что-то с большим количеством фона может оказаться бесполезным.
Если вы разделите строку на запятые, используя str.split(',')
, вы получите список всех ваших отдельных «слов», например:
split = symbols.split(',')
['3RDROCK', 'AARON', 'AARVI', 'ABCOTS.ST', 'ABINFRA', 'ABMINTLLTD', ...
Затем вы можете использовать понимание списка, чтобы сгруппировать их обратно в список из n символов, используя split[i:i+n]
ниже, а затем использовать .join()
, чтобы объединить каждую группу из n обратно в одну строку. (Примечание: здесь я использую n=13
, замените на n=39
для строк из 39 слов):
n=13
[','.join(split[i:i+n]) for i in range(0, len(split), n)]
Выход:
['3RDROCK,AARON,AARVI,ABCOTS.ST,ABINFRA,ABMINTLLTD,ACCORD,ACCURACY,ACEINTEG,AGROPHOS,AHIMSA,AHLADA,AILIMITED',
'AIROLAM,AJOONI,AKASH,AKG,AMBANIORG,AMJUMBO,ANTGRAPHIC,APOLSINHOT,ARTNIRMAN,ARVEE,ASCOM,ASLIND,ATALREAL',
'AURDIS,AVSL,BANKA,BANKNIFTY,BDR,BETA,BEWLTD,BMETRICS,BOHRA,BSE,BSHSL,CADSYS,CDSL',
'CNX100,CNX200,CNXMIDCAP,CNXPSUBANK,CONSOFINVT,CONSUMBEES,COOLCAPS.ST,CROWN,DANGEE,DESTINY,DIGJAMLMTD,DIL,DKEGL',
'DPABHUSHAN,DPWIRES,DRSDILIP,DUGLOBAL,EIFFL,ELGIRUBCO,EMKAYTOOLS,EUROBOND.ST,FELIX,FOCE,GANGAFORGE,GEEKAYWIRE,GIRIRAJ',
'GIRRESORTS,GKWLIMITED,GOLDSTAR,GRETEX,GROBTEA,HECPROJECT,HINDCON,ICEMAKE,INNOVANA,IRISDOREME,JAINAM,JAIPURKURT,JAKHARIA',
'JALAN,JASH,JETKNIT,JMA,JOCIL,JSLL.ST,KEERTI,KKVAPOW,KNAGRI.ST,KOTARISUG,KOTHARISUG,KOTYARK.ST,KRISHANA',
'KRISHIVAL.ST,KRISHNADEF,KRITIKA,KSHITIJPOL,KSOLVES,LAGNAM,LATTEYS,LAXMICOT,LEMERITE.ST,LEXUS,LFIC,LGHL,MACPOWER',
'MADHAVBAUG,MAHESHWARI,MAHICKRA,MANAV,MANGTIMBER,MARSHALL,MBAPL,MCL,MDL,MGEL,MHHL,MILTON,MITTAL',
'MKPL,MMP,MOKSH,MPTODAY,MSTCLTD,NDGL,NIDAN,NIDAN.ST,NIFTY,NIFTYALPHA50,NIRAJISPAT,NITIRAJ,NPST',
'NRL,OMFURN,ONEPOINT,OSEINTRUST,OSIAHYPER,OSWALSEEDS,PANSARI,PAR,PARIN,PARTYCRUS,PASHUPATI,PAVNAIND,PENTAGOLD', 'PERFECT,PKTEA,PRECISION.ST,PRECOT,PRITI,PROLIFE,PROPEQUITY.ST,QUADPRO,RAJMET,RELIABLE,REPL,REXPIPES,RKEC',
'RMDRIP,ROHITFERRO,RPPL,SAGARDEEP,SAKAR,SANGINITA,SECL,SERVOTECH,SHAIVAL,SHANTI,SHIGAN.ST,SHIVAUM,SHRADHA',
'SHREMINVIT,SHRENIK,SHUBHLAXMI,SIDDHIKA,SIGMA,SIKKO,SILGO,SILLYMONKS,SINTERCOM,SKSTEXTILE,SMVD,SOLEX,SONAHISONA',
'SONAMCLOCK,SOUTHWEST,SPCENET,SPRL.ST,SRIRAM,SRPL,STEELCITY,SUMIT,SUPREMEENG,SURANI,SUULD,SVLL,SWARAJ',
'TARACHAND,TEMBO,THEJO,TIRUPATI,TIRUPATIFL,TOTAL,TOUCHWOOD,UCL,UNIINFO,UNITEDPOLY,UNITEDTEA,UNIVASTU,URAVI',
'UWCSL,VAISHALI,VARDHACRLC,VASA,VCL,VENKEYS,VERA,VERTOZ,VIRESCENT,VMARCIND']
Если вы берете исходную строку из фрейма данных, нет смысла объединять все значения в одну длинную строку только для того, чтобы снова разделить ее. IIUC Вы можете использовать df['col name'].to_list()
, чтобы получить список каждого отдельного «слова», не объединяя их.
Извините, что не пометил ваш ответ как ответ, поскольку @mozway ответил ранее.
@HamzaAhmed, не беспокойтесь, решения Mozway всегда очень хороши, они очень хорошо осведомлены. Если мой ответ тоже помог, вы всегда можете проголосовать за него, но это ваше дело :)
Другой подход к решению той же проблемы. Приятное обучение для меня.
Что вы имеете в виду под отдельными строками 13 и 39? Одна строка из 13 слов между столбцами, а другая из 39? или 39 строк длиной 13 слов? Неясно