Я пытаюсь получить новый набор данных или изменить значение текущих столбцов набора данных на их уникальные значения. Вот пример того, что я пытаюсь получить:ValueError: Длина значений не соответствует длине индекса | Pandas DataFrame.unique()
A B
-----
0| 1 1
1| 2 5
2| 1 5
3| 7 9
4| 7 9
5| 8 9
Wanted Result Not Wanted Result
A B A B
----- -----
0| 1 1 0| 1 1
1| 2 5 1| 2 5
2| 7 9 2|
3| 8 3| 7 9
4|
5| 8
Я не забочусь об индексе, но это, кажется, проблема. Мой код до сих пор довольно прост, я пробовал 2 подхода, 1 с новым dataFrame и без него.
#With New DataFrame
def UniqueResults(dataframe):
df = pd.DataFrame()
for col in dataframe:
S=pd.Series(dataframe[col].unique())
df[col]=S.values
return df
#Without new DataFrame
def UniqueResults(dataframe):
for col in dataframe:
dataframe[col]=dataframe[col].unique()
return dataframe
У меня есть ошибка «Длина значений не соответствует длине индекса» оба раза.
спасибо, что он работает нормально! Я не думал об этом таким образом, маленький вопрос, этот код не генерировал никаких NaN, когда я сохранил его в csv, но у меня есть пробелы в верхней части некоторых столбцов, которые, я полагаю, являются Nans, вопрос в том, что: NaNs всегда будет на высоте? –
Я так не думаю. Они должны быть внизу, если все значения не нан для некоторых столбцов. – Psidom
Хорошо, я собираюсь заполнить пробелы с помощью NaN и проверить, не меняется ли выход. –