问题描述
我正在计算输入文本和列表之间的 Levenshtein 距离。 我想将此信息存储在数据框中以供以后进一步分析。
我在将我的函数生成的这个列表分配给创建的数据框时遇到问题。
col_list = data_df.clean_text_items.unique()
levenshtein_ratio_matrix_df = pd.DataFrame(columns= col_list)
def levenshtein_compare_to_list(row):
row_levenshtein_ratio = []
for i in collist:
row_levenshtein_ratio.append(levenshtein (row['clean_text_source_item'], i))
levenshtein_ratio_matrix_df.append(row_levenshtein_ratio)
for index, row in data_df.iterrows():
levenshtein_compare_to_list(row)
下面运行,如果我打印出每个循环的 row_levensthein_ratio 它显示正确的值,但它实际上并没有附加数据框。 (levenshtein_ratio_matrix_df 留空)
1楼
找到答案
df_length = len(levenshtein_ratio_matrix_df)
levenshtein_ratio_matrix_df.loc[df_length] = row_levenshtein_ratio
代替
levenshtein_ratio_matrix_df.append(row_levenshtein_ratio)