一开始想到用replace,但是他把某列内容当作一个整体去搜索替换,没有办法搜索列表内的某项.
使用列标取到某项的值以后,因为是list,又没有replace方法
解决思路:
取到DataFrame要替换的列 A ,对A进行列表搜索替换,将 A 转换为 DataFrame格式(要转置), 然后再替换到原来的DataFrame中
将列表(List)转换为数据框(Dataframe)
利用Pandas将List列表转换为Dataframe
如何替换Pandas.DataFrame上的整个列
tmp = []
for alist in replaceRow:
result = [templateEventDict[i] if i in templateEventDict else i for i in alist]
tmp.append(result)
// tmp就是替换后的列表
from pandas.core.frame import DataFrame
new = DataFrame([tmp],index=['TemplateSeq'])#直接将a,b合并成一个列表进行传入
data=new.T#转置之后得到想要的结果
data.rename(columns={0:'TemplateSeq'},inplace=True)#注意这里0和1都不是字符串
替换
events_df['EventSequence'] = data['TemplateSeq']