我有一个带有字符串列和浮点列的pandas DataFrame我想使用 viewPager = (VerticalViewPager) rootView.findViewById(R.id.viewpager);
viewPager.setPageTransformer(false, new ViewPager.PageTransformer() {
@Override
public void transformPage(View page, float position) {
if (position >= 0.5F && position <= 1F) {
float progressStart = 0.5f;
float progressEnd = 1f;
float progressDelta = progressEnd - progressStart;
float progress = (position - progressStart)/progressDelta;
if(progress>1)progress=1;
if(progress<0)progress=0;
float endValue = 1f;
float startValue = 0.8f;
float delta = endValue - startValue;
progress = 1-progress;
float currentScale = startValue + delta*progress;
ViewCompat.setPivotY(page,0);
ViewCompat.setScaleX(page, currentScale);
ViewCompat.setScaleY(page, 0.9F);
ViewCompat.setTranslationY(page, 0);
} else {
ViewCompat.setScaleX(page, 1.0F); //- width
ViewCompat.setScaleY(page, 0.9F); //- height
}
}
});
删除重复项。一些重复项不完全相同,因为低位小数位有一些细微差别。如何以较低的精度删除重复项?
示例:
drop_duplicates
我想得到
import pandas as pd
df = pd.DataFrame.from_dict({'text': ['aaa','aaa','aaa','bb'], 'result': [1.000001,1.000000,2,2]})
df
result text
0 1.000001 aaa
1 1.000000 aaa
2 2.000000 aaa
3 2.000000 bb
答案 0 :(得分:1)
{{1}}
答案 1 :(得分:1)
您可以使用具有给定精度的函数round
来围绕您的df。
DataFrame.round(decimals = 0,* args,** kwargs)
将DataFrame舍入到可变数量的小数位。
例如,您可以通过以下方式应用带有两位小数的回合:
df = df.round(2)
您也可以将其应用于特定列,例如:
df = df.round({'result': 2})
在舍入后,您可以使用函数drop_duplictes
答案 2 :(得分:0)
使用numpy.trunc
来获得您正在寻找的精度。使用pandas
duplicated
查找要保留的内容。
df[~df.assign(result=np.trunc(df.result.values * 100)).duplicated()]