我想将我创建的dataframe对象中包含我需要的值的一部分分配给一个新对象。但是,当我试图运行python文件时,我得到了一个错误,该文件指出string对象没有我创建的包含值的对象的属性。不知道怎么了。在
AttributeError: 'str' object has no attribute 'vowel_map'
在培训.txt文件是:
^{pr2}$我运行的python文件是:
import pandas as pd
import string
vowels = ('AA','AE','AH','AO','AW','AY','EH','ER','EY','IH','IY','OW','OY','UH','UW')
def remove_stress(string):
if type(string) in [list, tuple]:
string = ' '.join(string)
return ''.join([i for i in string if not i.isdigit()]).split()
def phoneme_map(phon_list, phoneme_list):
return [1 if phoneme in phoneme_list else 0 for phoneme in phon_list]
def get_words(file_path):
words = pd.read_csv(file_path, sep=':', names = ['word', 'string_of_phon'])
words['phon_list'] = words.string_of_phon.apply(str.split)
words['stressless_phon_list'] = words.string_of_phon.apply(remove_stress)
words['vowel_map'] = words.stressless_phon_list.apply(phoneme_map, args = (vowels,))
return words
if __name__ == '__main__':
data_loc = 'training.txt'
words = get_words(data_loc)
word_vowels = [word.vowel_map for word in words]
如果你想要一个热编码元音:
收益率
^{pr2}$您可以将其与原始DF连接:
IIUC:
现在可以将计算列指定给另一个对象:
^{pr2}$相关问题 更多 >
编程相关推荐