我有一个如下所示的DataFrame df1
:
A B C
-----------------
1 1 2
2 2 3
5 4 9
我希望连续获得所有唯一值。例如,第一行中的示例1和2。 2,3排在第二排。第三排是4,5和9。
结果可能会有所不同,我可以想象一个包含具有唯一值的列表或用None
替换重复项的新列也可以(或者其他东西,也许这种情况下会有更多pythonic)。 / p>
答案 0 :(得分:14)
if (grade.Teachers.IsNotNull() && grade.Teachers.Any())
{
grade.Teachers.ForEach(i => SchoolContext.SetModified(i));
}
//Add or update Students
if (grade.Students.IsNotNull() && grade.Students.Any())
{
grade.Students.ForEach(s =>
{
if (s.StudentIdentity == 0) //Works well if only one with Identity = 0 , if goes thru this multiple times, fails
{
SchoolContext.SetAdded(s);
}
else
{
SchoolContext.SetModified(s);
}
});
}
results = await StudentContext.SaveChangesAsync().ConfigureAwait(false);
答案 1 :(得分:7)
In [88]: df.stack().groupby(level=0).apply(lambda x: x.unique().tolist())
Out[88]:
0 [1, 2]
1 [2, 3]
2 [5, 4, 9]
dtype: object
答案 2 :(得分:6)
让我们使用pd.unique
即
df.T.agg([pd.unique])
0 1 2
unique [1, 2] [2, 3] [5, 4, 9]