2016-11-23 10 views
1

の種類を変換する私は、カラム内のリストがありますパンダ:列

          category 
0   [Рубрики/Hi-Tech/Интернет/Универсальное/ ] 
1 [/Рубрики/Бизнес/Недвижимость/Базы недвижимост... 
2 [] 
3 [/Рубрики/Бизнес/Недвижимость/Базы недвижимост... 
4   [Рубрики/Hi-Tech/Интернет/Универсальное/ ] 
5 [] 
6   [Рубрики/Hi-Tech/Интернет/Универсальное/ ] 
7 [/Рубрики/Бизнес/Недвижимость/Базы недвижимост... 
8   [Рубрики/Hi-Tech/Интернет/Универсальное/ ] 
9 [/Рубрики/Бизнес/Недвижимость/Базы недвижимост... 
10   [Рубрики/Hi-Tech/Интернет/Универсальное/ ] 
11 [/Рубрики/Бизнес/Недвижимость/Базы недвижимост... 
12 [] 
13 [/Рубрики/Бизнес/Недвижимость/Базы недвижимост... 
14   [Рубрики/Hi-Tech/Интернет/Универсальное/ ] 

列を持つデータフレームを持っています。私はすべてのリストから最初の文字列を取得する必要がありますが、リストの一部が空になっていると私は

df.category.iloc[0] 

を使用しようとすると、私はそのエラーを修正し、文字列の代わりのリストを取得することができますどのように私は

ValueError: Length of values does not match length of index

を取得します?

答えて

6

私はあなたがindexing with strを使用することができると思う:

df.category = df.category.str[0] 

サンプル:

df.category = df.category.str[0].fillna('') 
print (df) 
    category 
0  aw 
1   
2  tr 
3  tre 

df = pd.DataFrame({'category': [['aw','be'],[],['tr','yt','uy'],['tre']]}) 
print (df) 
     category 
0  [aw, be] 
1   [] 
2 [tr, yt, uy] 
3   [tre] 

df.category = df.category.str[0] 
print (df) 
    category 
0  aw 
1  NaN 
2  tr 
3  tre 

空の文字列でNaNを交換する必要がある場合