pandas
numaralı DataFrame
numaralı belgede, metin dizeleriyle df.strings
adlı bir sütunu kullanıyorum. Bu dizelerin tek tek sözcüklerini kendi satırlarında diğer sütunlar için aynı değerler ile almak istiyorum. nasılVarolan bir satırın dizesindeki sözcükleri içeren pandalar veri karesinde yeni satırları nasıl oluşturabilirim?
Strings Time
0 The dog 4Pm
1 lazy dog 2Pm
2 The fox 1Pm
ben ama bunun dışında tamamen aynı sütunlu, dizesinden kelimeleri içeren yeni satırlar istiyorum
Strings --- Words ---Time
"The dog" --- "The" --- 4Pm
"The dog" --- "dog" --- 4Pm
"lazy dog"--- "lazy"--- 2Pm
"lazy dog"--- "dog" --- 2Pm
"The fox" --- "The" --- 1Pm
"The fox" --- "fox" --- 1Pm
Bilmek: Mesela ben 3 dizeleri (ve alakasız bir sütun, Zaman) varsa endeks & diğer değişkenleri korurken
string_list = '\n'.join(df.Strings.map(str))
word_list = re.findall('[a-z]+', Strings)
Ama nasıl dataframe içine bu alabilirsiniz: dizeleri kelimeleri bölmek? Python 2.7 ve pandalar 0.10.1 kullanıyorum.
DÜZENLEME:
def f(group):
row = group.irow(0)
return DataFrame({'words': re.findall('[a-z]+',row['Strings'])})
df.groupby('class', group_keys=False).apply(f)
Hala diğer sütunları korumak istiyorum: Şimdi this question bulunan GroupBy kullanarak satırları genişletmek için nasıl anlıyoruz. Mümkün mü?
Gerçekten endeksi benzersiz olması gerekiyordu çünkü endeksi korumak için bir anlam ifade etmiyor. Değerleri birden çok satıra genişletmek için, [bu benzer soruya] bakın (http://stackoverflow.com/questions/15255181/questions-about-pandas-expanding-multivalued-column-inverting-and-grouping/15255472#15255472). – BrenBarn
Teşekkürler! Sorumu düzenledim ve diziyle ilgili bölümü kaldırdım. Şimdi değerleri birden çok satıra genişletebiliyorum, ama yine de diğer sütunları koruyalım –