Android: Location.distanceTo, не работающий правильно?

Это зависит от того, как вы хотите реализовать логику разрешения информации, которая может не совсем совпадать. Если бы вы объединили несколько кадров, я думаю, что значение modal подходит. Взяв ваш merged_df, мы можем решить его следующим образом:

merged_df = merged_df.groupby([x.split('_')[0] for x in merged_df.columns], 1).apply(lambda x: x.mode(1)[0])

         Date Gender  StudyID SubjectID  Test1  Test2
0  2010-05-08      M      1.0         A    1.0    1.0
1  2010-05-09      M      1.0         A    NaN    2.0
2  2010-05-10      M      1.0         A    2.0    3.0
3  2010-05-08      M      1.0         B    3.0    4.0
4  2010-05-08      F      1.0         C    4.0    NaN
5  2010-05-09      F      1.0         C    NaN    5.0

Или, возможно, вы хотите отдать приоритет ненулевому значению в первом кадре, тогда это .combine_first.

df1.set_index(['SubjectID', 'Date']).combine_first(df2.set_index(['SubjectID', 'Date']))

                     Gender  StudyID  Test1  Test2
SubjectID Date                                    
A         2010-05-08      M      1.0    1.0    1.0
          2010-05-09      M      1.0    NaN    2.0
          2010-05-10      M      1.0    2.0    3.0
B         2010-05-08      M      1.0    3.0    4.0
C         2010-05-08      F      1.0    4.0    NaN
          2010-05-09      F      1.0    NaN    5.0

Если вам нужно объединить много DataFrames, лучше всего использовать reduce из functools.

from functools import reduce

merged_df = reduce(lambda l,r: l.merge(r, on=['SubjectID', 'Date'], how='outer', suffixes=['_l', '_r']), 
                   [df1, df2 ,df1, df2, df2])

У вас будет много перекрывающихся столбцов, но вы все равно сможете их разрешить:

merged_df.groupby([x.split('_')[0] for x in merged_df.columns], 1).apply(lambda x: x.mode(1)[0])

         Date Gender  StudyID SubjectID  Test1  Test2
0  2010-05-08      M      1.0         A    1.0    1.0
1  2010-05-10      M      1.0         A    2.0    3.0
2  2010-05-08      M      1.0         B    3.0    4.0
3  2010-05-08      F      1.0         C    4.0    NaN
4  2010-05-09      M      1.0         A    NaN    2.0
5  2010-05-09      F      1.0         C    NaN    5.0
13
задан Vasily Kabunov 13 April 2017 в 04:34
поделиться

1 ответ

Необходимо Изменить строки:

aLocation.setLatitude(myLocation.getLatitudeE6() / 1e6);
aLocation.setLongitude(myLocation.getLongitudeE6() / 1e6);

И удалите строки:

aLocation.set(aLocation);
bLocation.set(bLocation);
14
ответ дан 2 December 2019 в 00:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: