7
我想获得一个新的数据集,或将当前数据集列的值更改为其唯一值。 这里是什么,我想获得一个例子:ValueError:值的长度与索引|熊猫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与一个新的数据帧和一个没有。
#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
我有错误“值的长度与索引的长度不匹配”两次。
感谢它工作正常!我没有这样想过,小问题,当我将它保存到csv时,这段代码没有生成任何NaN,但是我在某些列的顶部留空了单元格,我想是Nans,问题是:是NaN总是会在最上面? –
我不这么认为。它们应该处于最底层,除非某些列的所有值都是nan。 – Psidom
好吧,我要用NaN填补空白,并检查输出是否改变 –