Вот часть Pandas DataFrame, с которой я работаю:
all_samples = pd.DataFrame({'Group': {0: 'One', 3: 'One', 4: 'One', 5: 'One', 7: 'One'},
'Sample': {0: 1, 3: 1, 4: 2, 5: 2, 7: 2},
'VAF': {0: 0.0009577524741938917,
3: 0.0006907269901571404,
4: 0.001246660730186999,
5: 0.00128,
7: 0.0012338062924120913}})
Если я пытаюсь отобразить данные как диаграмму рассеяния, все работает нормально:
sns.catplot(x="Group", y="VAF", hue="Sample", dodge=True,
palette="pastel", data=all_samples.head(20));
Но когда я пытаюсь представить данные как скрипку или блокпост, как это:
sns.catplot(x="Group", y="VAF", hue="Sample", kind='violin',
palette="pastel", data=all_samples.head(20));
Я получаю ValueError: object arrays are not supported
ошибку. Мой DataFrame плохо структурирован или что-то в этом роде?
Обновление:
Так как это работало для других, я попробовал пример, который я разместил, и он работает для меня. Затем, когда я использую свой полный DataFrame; Я преобразовал его в словарь, затем в DataFrame, и теперь он работал просто отлично. temp = pd.DataFrame(all_samples.to_dict())
, а затем чертит так: sns.violinplot(x='Group', y='VAF', hue='Sample', palette='pastel', data=temp)
. К сожалению, я не знаю, как опубликовать свои исходные данные сейчас, чтобы понять, что происходит не так. Имеет ли это смысл для кого-либо?