Я рисую фрейм данных pandas с 4 столбцами. Либо один или два из четырех столбцов могут иметь Nan, либо весь столбец может отсутствовать. В моем коде ниже я получаю сообщение об ошибке
Я рисую фрейм данных pandas с 4 столбцами. Либо один или два из четырех столбцов могут иметь Nan, либо весь столбец может отсутствовать. В моем коде ниже я получаю сообщение об ошибке [code]TypeError: unhashable type: 'Series'
import pandas as pd import matplotlib.pyplot as plt import numpy as np import datetime
#Convert day numbers to dates #**************************** days = {} for i in range(0, 6): days[i] = (datetime.datetime(1999, 10, 1) + datetime.timedelta(days=i)).strftime("%d %b") # get date format
dfd = pd.DataFrame(list(days.items())) #A dataframe of dates dfmx=df['y'].max() dfmx = int(dfmx) #cater for dfmx a float
#Specify x, y ticks, labels and titles #************************************* plt.xticks(ticks = list(range(0, 6, 1))) plt.yticks(np.arange(0, dfmx, step=1)) plt.xlabel("Days From 01 Oct") ax.set_title('Some Title: \n ----------------') plt.ylabel("Values")
def plot_with_checks(df, x_col, y_col): """ Plots if specified columns exist and contain non-null data. """ if x_col in df.columns and y_col in df.columns: if df[x_col].notna().sum() > 0 and df[y_col].notna().sum() > 0: plt.plot(x=x_col, y=y_col, color='orange', label='y_col') else: print(f"Plotting ('{y_col}') skipped: no data.")
ax.grid() plt.savefig('Sample Plot.png') plt.show() [/code] В приведенном выше коде закомментирование первых двух графиков дает графики 3 и 4. Включение любого из графиков 1 и 2 приводит к ошибке [code]TypeError: unhashable type: 'Series' [/code] указан для строки [code]if x_col in df.columns and y_col in df.columns: [/code] Я не понимаю пример, приведенный в lib/python3.12/site-packages/pandas/core/indexes/base.py", строка 5358