熊貓新手,抱歉,如果解決方案很明顯。熊貓羣大熊貓字典
我有一個數據幀(見下文)與不同的電影場景,對於電影中的場景
import pandas as pd
data = [{'movie' : 'movie_X', 'scene' : '1', 'environment' : 'home'},
{'movie' : 'movie_X', 'scene' : '2', 'environment' : 'car'},
{'movie' : 'movie_X', 'scene' : '3', 'environment' : 'home'},
{'movie' : 'movie_Y', 'scene' : '1', 'environment' : 'home'},
{'movie' : 'movie_Y', 'scene' : '2', 'environment' : 'office'},
{'movie' : 'movie_Z', 'scene' : '1', 'environment' : 'boat'},
{'movie' : 'movie_Z', 'scene' : '2', 'environment' : 'beach'},
{'movie' : 'movie_Z', 'scene' : '3', 'environment' : 'home' }]
myDF = pd.DataFrame(data)
環境。在這種情況下,電影有多個流派,他們屬於哪個。我有一本字典(下),說明該類型屬於
genreDict = {'movie_X' : ['romance', 'action'],
'movie_Y' : ['comedy', 'romance', 'action'],
'movie_Z' : ['horror', 'thriller', 'romance']}
我想是myDF組通過這本字典每部電影,特別是能夠告訴的次數特定的環境特定類型止跌回升(例如,在類型恐怖中,'船'被計數一次,'海灘'被計數一次,'家'被計數一次)。什麼是最好的和最有效的方式去做這件事?我試圖映射字典數據框,然後由列表分組:
myDF['genres'] = myDF['movie'].map(genreDict)
將返回:
movie scene environment genres
0 movie_X 1 home [romance, action]
1 movie_X 2 car [romance, action]
2 movie_X 3 home [romance, action]
3 movie_Y 1 home [comedy, romance, action]
4 movie_Y 2 office [comedy, romance, action]
5 movie_Z 1 boat [horror, thriller, romance]
6 movie_Z 2 beach [horror, thriller, romance]
7 movie_Z 3 home [horror, thriller, romance]
但是,我得到了一個錯誤說列表是unhashable。希望你們都可以幫忙:)
你可以發表你想要的數據集? – MaxU