我有一些不同的数据,如下所示
data1 = [[(271.760309837,)], [(289.247745329,)]]
data2 = [(u'A', datetime.datetime(2019, 8, 23, 0, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 2.66666666666667), (u'B', datetime.datetime(2019, 8, 23, 0, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 3.66666666666667), (u'C', datetime.datetime(2019, 8, 23, 0, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 12.25), (u'D', datetime.datetime(2019, 8, 23, 0, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 5.875), (u'E', datetime.datetime(2019, 8, 23, 0, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 9.06451612903226), (u'F', datetime.datetime(2019, 8, 23, 1, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 5.363636363636), (u'G', datetime.datetime(2019, 8, 23, 1, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 3.5), (u'H', datetime.datetime(2019, 8, 23, 1, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 9.53125), (u'I', datetime.datetime(2019, 8, 23, 1, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 3.2), (u'J', datetime.datetime(2019, 8, 23, 1, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 7.0967741354839), (u'K', datetime.datetime(2019, 8, 23, 2, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 3.25), (u'L', datetime.datetime(2019, 8, 23, 2, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 5.1153846153846), (u'M', datetime.datetime(2019, 8, 23, 2, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 6.387096419355), (u'N', datetime.datetime(2019, 8, 23, 2, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 4.47058529412), (u'O', datetime.datetime(2019, 8, 23, 2, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 3.727272727273), (u'P', datetime.datetime(2019, 8, 23, 3, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), 5.2)]
data3 = [[('A', 204.593564568), ('B', 217.421341061), ('C', 237.296250326), ('D', 217.464281998), ('E', 206.329901299)], [('F', 210.297625953), ('G', 228.117692718), ('H', 4), ('I', 265.319671257), ('K',)]]
如您所见,浮点值在小数后有两位数。我想使任何浮点数出现在小数点后一位。在网上查找答案时,我遇到的最常见的建议是使用round()
函数。所以我试过了
但它只对data2
有效,而其他两个数据没有显示任何舍入。在
此外,我还尝试使用numpy
来获得结果
df = pd.Dataframe(data1)
np.round(df, decimals=2).values
df = pd.Dataframe(data2)
np.round(df, decimals=2).values
df = pd.Dataframe(data2)
np.round(df, decimals=2).values
但它同样只适用于data2
。在pandas的任何数据格式中,如何确保四舍五入或限制到小数点后两位是一致的?在
问题在于数据的格式,有元组而不是标量。因此,可能的解决方案是使用^{} 作为元素级的apply lambda函数-存在可能的圆形浮点:
相关问题 更多 >
编程相关推荐