Próbuję uzyskać nowy zestaw danych lub zmienić wartość kolumn bieżących dataset na ich unikalne wartości. Oto przykład tego, co staram się dostać:ValueError: Długość wartości nie odpowiada długości indeksu | 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
nie troszczą się o indeksie, ale wydaje się być problemem. Mój kod do tej pory jest całkiem prosty, próbowałem 2 podejść, 1 z nową ramką danych i jedną bez.
#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
Mam błąd "Długość wartości nie pasuje długość indeksu" zarówno razy.
dzięki temu działa dobrze! Nie myślałem o tym w ten sposób, małe pytanie, ten kod nie generował żadnych NaNs, gdy zapisałem go do csv, ale mam pustą komórkę na górze niektórych kolumn, które, jak przypuszczam, są Nans, pytanie brzmi: są NaNs zawsze będzie na górze? –
Nie sądzę. Powinny być na dole, chyba że dla niektórych kolumn wszystkie wartości są nan. – Psidom
OK Wypełnię puste pola z NaN i sprawdzę, czy wyjście zmienia się. –