猿问

数以千计的逗号分隔 Pandas DataFrame

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

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

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

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


精慕HU
浏览 193回答 1
1回答

呼啦一阵风

.applymap() 可以对整个数据帧中的每个元素应用一个函数:In [14]: dfOut[14]:               0              1              2              3              40  178711.734521  118958.200494   54379.699539   72575.737361  129236.3953231  132075.638310   37217.504969  131311.983325   35175.116276  191367.8534982  102123.073075    9860.698108   41645.629665    4240.177466    4670.1875173   57162.513788   34473.448018  197430.723197  101702.904956   31658.2753274  199243.246008  143353.212629   79133.130402  143414.562742   85171.281362In [15]: df.applymap('{:,.0f}'.format)Out[15]:         0        1        2        3        40  178,712  118,958   54,380   72,576  129,2361  132,076   37,218  131,312   35,175  191,3682  102,123    9,861   41,646    4,240    4,6703   57,163   34,473  197,431  101,703   31,6584  199,243  143,353   79,133  143,415   85,171
随时随地看视频慕课网APP

相关分类

Python
我要回答