#python #pandas #dataframe #machine-learning
#питон #панды #фрейм данных #машинное обучение
Вопрос:
Я пытаюсь установить имя второго столбца моего фрейма данных как «проблема» в строке 16 и сохранить его в формате csv, но появляется ошибка.Если я удалю [«prob»], то программа выведет только имя «pid» в первом столбце и 0 во втором столбце. Пожалуйста, вы можете сказать мне, что я делаю не так?
Вот скриншот csv-файла, если я задам только «pid», а не «prob»
Вот код:
import pandas as pd import sys import ast def jaccard(a, b, round_n=4): set_a = set(a) set_b = set(b) return round(float(len(set_a.intersection(set_b))) / len(set_a.union(b)), round_n) def similar_playlists(playlist, playtrack, jaccard_trehhold=0.1): pid = playlist["pid"] sims = playtrack.apply(lambda another_playlist: jaccard(playlist["track_uri"], another_playlist["track_uri"]), axis=1) print("pid:", pid) sims.index.names = ["pid"], ["prob"] #saving only similarities above jaccard_threshold sims[sims gt; jaccard_trehhold].to_csv(output_playlist_sim_dir "pid--" str(pid) ".csv", sep=SEP) SEP = ";" # play_track_flat_csv_path = "/track.csv" # output_playlist_sim_dir = "/t_similarity/" play_track_flat_csv_path = 'playlist.csv' output_playlist_sim_dir = 'C:\Users\user\PycharmProjects\' from_pid = 0 to_pid = 5 playtrack = pd.read_csv(play_track_flat_csv_path, sep=",") playtrack["track_uri"] = playtrack["track_uri"].apply(ast.literal_eval) print(playtrack.head()) print("Processing similarities...") playtrack[from_pid : to_pid].apply(similar_playlists, playtrack=playtrack, axis=1)
Вот ошибка, которую я получаю:
sims.index.names = ["pid"], ["prob"] File "C:UsersuserDesktoplibsite-packagespandascoreindexesbase.py", line 1522, in _set_names raise ValueError(f"Length of new names must be 1, got {len(values)}") ValueError: Length of new names must be 1, got 2