Python 如何解析Dataframe对象
我在pandas Dataframe中读取csv文件,然后获取它的虚拟对象并对其进行解析,但例如,我有一个名为“流派”的专栏,其中包含“喜剧、戏剧”和“动作、喜剧”,所以当我获取虚拟对象并对其进行解析时,它会为每个句子生成一个对象,但我希望解析它们。例如,我希望生成对象“流派.喜剧”,“体裁.戏剧”,“体裁.动作”而不是“体裁.喜剧,戏剧”和“体裁.动作,喜剧” 这是我的密码:Python 如何解析Dataframe对象,python,pandas,csv,parsing,dummy-data,Python,Pandas,Csv,Parsing,Dummy Data,我在pandas Dataframe中读取csv文件,然后获取它的虚拟对象并对其进行解析,但例如,我有一个名为“流派”的专栏,其中包含“喜剧、戏剧”和“动作、喜剧”,所以当我获取虚拟对象并对其进行解析时,它会为每个句子生成一个对象,但我希望解析它们。例如,我希望生成对象“流派.喜剧”,“体裁.戏剧”,“体裁.动作”而不是“体裁.喜剧,戏剧”和“体裁.动作,喜剧” 这是我的密码: import numpy as np import pandas as pd import matplotlib.py
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import csv
from sklearn import preprocessing
trainset = pd.read_csv("/Users/yada/Downloads/IMDBMovieData.csv", encoding='latin-1')
X = trainset.drop(['Description', 'Runtime'], axis=1)
features = ['Genre','Actors']
for f in features:
X_dummy = pd.get_dummies(X[f], prefix = f)
X = X.drop([f], axis = 1)
X = pd.concat((X, X_dummy), axis = 1)
这是我的csv文件的某一行:
我认为需要:
或:
请不要显示代码图像。@Julien现在它已经准备好了;)对我知道我应该在dummy的命令中做一些事情来识别“,”并从此点进行解析,但我无法通过搜索找到,非常感谢Jezrael!!你知道如何打印或获取数据框的一列吗?例如,我想要“Actors.Keanu Reeves”专栏,我使用这个:print(X['Actors.Keanu Reeves']),但它不起作用:/不,它工作得很好,我只是问另一个问题:)@yasi-它应该工作得很好,没有一些双空格或类似的内容?是的,你是对的,这是空间的问题,非常感谢亲爱的jezrael!
features = ['Genre','Actors']
for f in features:
X_dummy = X[f].str.get_dummies(', ').add_prefix(f + '.')
X = X.drop([f], axis = 1)
X = pd.concat((X, X_dummy), axis = 1)
trainset = pd.DataFrame({'Description':list('abc'),
'Genre':['comedy, drama','action, comedy','action'],
'Actors':['a, b','a, c','d, a'],
'Runtime':[1,3,5],
'E':[5,3,6],
'F':list('aaa')})
print (trainset)
Description Genre Actors Runtime E F
0 a comedy, drama a, b 1 5 a
1 b action, comedy a, c 3 3 a
2 c action d, a 5 6 a
X = trainset.drop(['Description', 'Runtime'], axis=1)
features = ['Genre','Actors']
X_dummy_list = [X.pop(f).str.get_dummies(', ').add_prefix(f + '.') for f in features]
X = pd.concat([X] + X_dummy_list , axis = 1)
print (X)
E F Genre.action Genre.comedy Genre.drama Actors.a Actors.b \
0 5 a 0 1 1 1 1
1 3 a 1 1 0 1 0
2 6 a 1 0 0 1 0
Actors.c Actors.d
0 0 0
1 1 0
2 0 1