Как преобразовать строку в Python в отдельные строки

У меня есть фрейм данных 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 и 39? Одна строка из 13 слов между столбцами, а другая из 39? или 39 строк длиной 13 слов? Неясно

Emi OB 27.06.2024 11:50

В вашем примере одна строка из 13 слов и одна строка из 12 слов. В вашем примере 218 слов, поэтому не может быть 39 строк по 13 слов.

Emi OB 27.06.2024 11:51

Почему ты сначала join потом хочешь расстаться? Тогда гораздо проще сначала расстаться join

mozway 27.06.2024 11:51

Если вы вызовете batched в списке (перед присоединением к строке) и только потом объедините пакеты, это сработает.

trincot 27.06.2024 11:54

С вашими общими данными все в порядке, но ваш вопрос неясен.

DirtyHands 27.06.2024 11:54

@DirtyHans Я обновил вопрос, чтобы внести больше ясности

Hamza Ahmed 27.06.2024 12:30

@Hamza, чтобы сделать это более понятным, я предлагаю вам дать вашей строке имя (symbols) и объяснить, как она создается в первую очередь (я предполагаю, что-то вроде symbols = ','.join(df['col']))

mozway 27.06.2024 12:32
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
7
73
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Почему ты сначала 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']

Большое вам спасибо за вашу помощь. Это решает мой вопрос. Прошу прощения, если не смог лучше объяснить свой вопрос. Я спешил и думал, что сокращение до той точки, где я извлек столбцы фрейма данных в строку, было хорошей отправной точкой, но, оглядываясь назад, это было не так.

Hamza Ahmed 27.06.2024 13:06

@Хамза, не волнуйся, не всегда легко узнать, сколько подробностей предоставить. Что-то с большим количеством фона может оказаться бесполезным.

mozway 27.06.2024 13:09

Если вы разделите строку на запятые, используя 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 ответил ранее.

Hamza Ahmed 27.06.2024 13:15

@HamzaAhmed, не беспокойтесь, решения Mozway всегда очень хороши, они очень хорошо осведомлены. Если мой ответ тоже помог, вы всегда можете проголосовать за него, но это ваше дело :)

Emi OB 27.06.2024 13:18

Другой подход к решению той же проблемы. Приятное обучение для меня.

Hamza Ahmed 27.06.2024 13:45

Другие вопросы по теме