簡體   English   中英

如何從 DataFrame 中拆分一列?

[英]How to split a column from a DataFrame?

我正在嘗試從數據框中拆分一列。 我知道這可以使用 str.split() 輕松實現,但是當我拆分時,它應該返回 7 列,但它只返回第一列。

這是我試圖拆分的列:

print(df1['Genres'])

 0                                          ['Drama']
 1                                 ['Crime', 'Drama']
 2                                 ['Crime', 'Drama']
 3           ['Action', 'Crime', 'Drama', 'Thriller']
 4                                 ['Crime', 'Drama']
                           ...                 

這是我到目前為止的代碼:

df1 = pd.DataFrame(pd.read_csv('Dataset01.csv'))

df1['Genres'] = df1['Genres'].map(lambda x: x.lstrip("["))
df1['Genres'] = df1['Genres'].map(lambda x: x.rstrip("]"))
df1['Genres'] = df1['Genres'].str.replace("'", '')

df1['Genres'] = df1['Genres'].str.split(",", expand=True)

df1 

我只得到具有第一個值的列:

print(df1['Genres'])

0          Drama
1          Crime
2          Crime
3         Action
4          Crime
         ...   

這是我運行代碼后 DataFrame 的樣子: DataFrame

如您所見,它只返回一列

我還能做些什么來拆分列嗎? 或者我可以做些什么來解決這個問題?

謝謝

嘗試使用ast.literal_eval然后explode

import ast 
df1['Genres'].map(ast.literal_eval).explode()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM