如何舍入 Python 中 pandas 数据帧的每个条目(这是一个元组)?

How can I round each entry (which is a tuple) of a pandas dataframe in Python?

import pandas as pd

D = {"a":[(1.0411070751196425, 1.048179051450828),(0.8020630165032718, 0.8884133074952416)], 
     "b":[(1.0411070751196425, 1.048179051450828),(0.8020630165032718, 0.8884133074952416)],
     "c":[(1.0411070751196425, 1.048179051450828),(0.8020630165032718, 0.8884133074952416)], 
     "d":[(1.0411070751196425, 1.048179051450828),(0.8020630165032718, 0.8884133074952416)]}

D = pd.DataFrame(D)

假设我有这样一个 pandas 数据框,其条目是元组。当我打印出这个数据框时,我怎样才能将每个数字显示到 4 位小数?比如完整的条目是(1.0411070751196425, 1.048179051450828),我想显示(1.0411, 1.0482).

使用 DataFrame.applymap 通过生成器理解和元组进行元素处理:

D = D.applymap(lambda x: tuple(round(y,4) for y in x))
print (D)
                  a                 b                 c                 d
0  (1.0411, 1.0482)  (1.0411, 1.0482)  (1.0411, 1.0482)  (1.0411, 1.0482)
1  (0.8021, 0.8884)  (0.8021, 0.8884)  (0.8021, 0.8884)  (0.8021, 0.8884)