teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/09/22 01:15

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -26,4 +26,34 @@
26
26
  close object
27
27
  hist object
28
28
  """
29
+ ```
30
+
31
+ 表示形式を指定
32
+ --
33
+ すこし面倒ですが、以下のようなコードにより、数値のまま表示形式を変えることもできます。
34
+ 参考:[How to display pandas DataFrame of floats using a format string for columns?](https://stackoverflow.com/questions/20937538/how-to-display-pandas-dataframe-of-floats-using-a-format-string-for-columns)
35
+ ```Python
36
+ import pandas as pd
37
+
38
+ # テストデータ
39
+ df = pd.DataFrame({'date':['2019-09-06'], 'close':[2335.0], 'hist':[-24.684088]})
40
+ df['date'] = pd.to_datetime(df['date'])
41
+
42
+ formatters = {} # 列ごとの書式
43
+ for c in df.select_dtypes(include=float).columns:
44
+ if c == 'hist':
45
+ formatters[c] = '{:.2f}'.format
46
+ else:
47
+ formatters[c] = '{:,.0f}'.format
48
+
49
+ print(df.to_string(formatters=formatters))
50
+ # date close hist
51
+ #0 2019-09-06 2,335 -24.68
52
+
53
+ print(df.dtypes)
54
+ """
55
+ date datetime64[ns]
56
+ close float64
57
+ hist float64
58
+ """
29
59
  ```