【问题标题】:Comma Separate Pandas DataFrame on Thousands以逗号分隔数千个 Pandas DataFrame
【发布时间】:2019-03-22 07:11:28
【问题描述】:

我有一个带有所有浮点数的 pandas 数据框。我想把这些变成整数,用千位分隔符。例如,10000.00 将是 10,000。数据框只有浮点数,没有空值。

目前我正在循环数据框的行。示例代码:

for i in range(df.shape[0]):
    df.iloc[i, :] = df.iloc[i, :].astype(int).apply('{:,}'.format)

有没有更有效的方法来做到这一点?最好是一行?

提前致谢!

【问题讨论】:

标签: python pandas loops dataframe


【解决方案1】:

.applymap() 可以对整个数据框中的每个元素应用一个函数:

In [14]: df
Out[14]:
               0              1              2              3              4
0  178711.734521  118958.200494   54379.699539   72575.737361  129236.395323
1  132075.638310   37217.504969  131311.983325   35175.116276  191367.853498
2  102123.073075    9860.698108   41645.629665    4240.177466    4670.187517
3   57162.513788   34473.448018  197430.723197  101702.904956   31658.275327
4  199243.246008  143353.212629   79133.130402  143414.562742   85171.281362

In [15]: df.applymap('{:,.0f}'.format)
Out[15]:
         0        1        2        3        4
0  178,712  118,958   54,380   72,576  129,236
1  132,076   37,218  131,312   35,175  191,368
2  102,123    9,861   41,646    4,240    4,670
3   57,163   34,473  197,431  101,703   31,658
4  199,243  143,353   79,133  143,415   85,171

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 2020-10-26
    相关资源
    最近更新 更多