我正在使用python,因此在我的数据帧中有一个名为 C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
2646 return self._engine.get_loc(key)
2647 except KeyError:
-> 2648 return self._engine.get_loc(self._maybe_cast_indexer(key))
2649 indexer = self.get_indexer([key], method=method, tolerance=tolerance)
2650 if indexer.ndim > 1 or indexer.size > 1:
pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()
pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.Int64HashTable.get_item()
KeyError: 3
的列,此列的值为Company Profit
我想将所有值转换为每三位数以逗号分隔,例如:整列中的33536310, 842925200,.. etc.
等
答案 0 :(得分:0)
类似的事情会起作用:
In [601]: def thousand_separator(val):
...: return f"{val:,}"
...:
In [602]: df['Company Profit'] = df['Company Profit'].apply(thousand_separator)
In [603]: df['Company Profit']
Out[602]:
0 33,536,310
1 842,925,200
Name: Profit, dtype: object
答案 1 :(得分:0)
或者,您可以在新版本的Python中使用f-string
进行此操作。使用逗号作为分隔符:
df = pd.DataFrame({'Company Profit':[33536310,842925200,231535366]})
df['Company Profit'] = df['Company Profit'].apply(lambda x: f"{x:,}")
print(df)
Company Profit
0 33,536,310
1 842,925,200
2 231,535,366