質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1638閲覧

データフレームが表示できません

退会済みユーザー

退会済みユーザー

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/08/10 04:05

編集2021/08/10 04:18

前提・実現したいこと

データフレームを内容を表示しようとしたところ以下のようなエラーコードが表示されました。どのように修正すればよいのでしょうか?

発生している問題・エラーメッセージ

--------------------------------------------------------------------------- KeyError Traceback (most recent call last) ~\anaconda3\lib\site-packages\IPython\core\formatters.py in __call__(self, obj) 700 type_pprinters=self.type_printers, 701 deferred_pprinters=self.deferred_printers) --> 702 printer.pretty(obj) 703 printer.flush() 704 return stream.getvalue() ~\anaconda3\lib\site-packages\IPython\lib\pretty.py in pretty(self, obj) 392 if cls is not object \ 393 and callable(cls.__dict__.get('__repr__')): --> 394 return _repr_pprint(obj, self, cycle) 395 396 return _default_pprint(obj, self, cycle) ~\anaconda3\lib\site-packages\IPython\lib\pretty.py in _repr_pprint(obj, p, cycle) 698 """A pprint that just redirects to the normal repr function.""" 699 # Find newlines and replace them with p.break_() --> 700 output = repr(obj) 701 lines = output.splitlines() 702 with p.group(): ~\anaconda3\lib\site-packages\pandas\core\frame.py in __repr__(self) 801 else: 802 width = None --> 803 self.to_string( 804 buf=buf, 805 max_rows=max_rows, ~\anaconda3\lib\site-packages\pandas\core\frame.py in to_string(self, buf, columns, col_space, header, index, na_rep, formatters, float_format, sparsify, index_names, justify, max_rows, min_rows, max_cols, show_dimensions, decimal, line_width, max_colwidth, encoding) 937 decimal=decimal, 938 ) --> 939 return fmt.DataFrameRenderer(formatter).to_string( 940 buf=buf, 941 encoding=encoding, ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in to_string(self, buf, encoding, line_width) 1029 1030 string_formatter = StringFormatter(self.fmt, line_width=line_width) -> 1031 string = string_formatter.to_string() 1032 return save_to_buffer(string, buf=buf, encoding=encoding) 1033 ~\anaconda3\lib\site-packages\pandas\io\formats\string.py in to_string(self) 21 22 def to_string(self) -> str: ---> 23 text = self._get_string_representation() 24 if self.fmt.should_show_dimensions: 25 text = "".join([text, self.fmt.dimensions_info]) ~\anaconda3\lib\site-packages\pandas\io\formats\string.py in _get_string_representation(self) 36 return self._empty_info_line 37 ---> 38 strcols = self._get_strcols() 39 40 if self.line_width is None: ~\anaconda3\lib\site-packages\pandas\io\formats\string.py in _get_strcols(self) 27 28 def _get_strcols(self) -> List[List[str]]: ---> 29 strcols = self.fmt.get_strcols() 30 if self.fmt.is_truncated: 31 strcols = self._insert_dot_separators(strcols) ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in get_strcols(self) 517 Render a DataFrame to a list of columns (as lists of strings). 518 """ --> 519 strcols = self._get_strcols_without_index() 520 521 if self.index: ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in _get_strcols_without_index(self) 783 int(self.col_space.get(c, 0)), *(self.adj.len(x) for x in cheader) 784 ) --> 785 fmt_values = self.format_col(i) 786 fmt_values = _make_fixed_width( 787 fmt_values, self.justify, minimum=header_colwidth, adj=self.adj ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in format_col(self, i) 797 frame = self.tr_frame 798 formatter = self._get_formatter(i) --> 799 return format_array( 800 frame.iloc[:, i]._values, 801 formatter, ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in format_array(values, formatter, float_format, na_rep, digits, space, justify, decimal, leading_space, quoting) 1216 ) 1217 -> 1218 return fmt_obj.get_result() 1219 1220 ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in get_result(self) 1247 1248 def get_result(self) -> List[str]: -> 1249 fmt_values = self._format_strings() 1250 return _make_fixed_width(fmt_values, self.justify) 1251 ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in _format_strings(self) 1492 1493 def _format_strings(self) -> List[str]: -> 1494 return list(self.get_result_as_array()) 1495 1496 ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in get_result_as_array(self) 1409 1410 if self.formatter is not None: -> 1411 return format_with_na_rep(self.values, self.formatter, self.na_rep) 1412 1413 if self.fixed_width: ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in format_with_na_rep(values, formatter, na_rep) 1401 mask = isna(values) 1402 formatted = np.array( -> 1403 [ 1404 formatter(val) if not m else na_rep 1405 for val, m in zip(values.ravel(), mask.ravel()) ~\anaconda3\lib\site-packages\pandas\io\formats\format.py in <listcomp>(.0) 1402 formatted = np.array( 1403 [ -> 1404 formatter(val) if not m else na_rep 1405 for val, m in zip(values.ravel(), mask.ravel()) 1406 ] KeyError: ';' (以下略)

該当のソースコード

python

1#ライブラリのインポート 2import pandas as pd 3import numpy as np 4import matplotlib.pyplot as plt 5 6#matplotlibの日本語化 7import japanize_matplotlib 8 9#データフレーム表示用関数 10from IPython.display import display 11 12#表示オプション調整 13#Numpyの浮動小数点の表示精度 14np.set_printoptions(suppress=True, precision=4) 15#pandasの浮動小数点の表示精度 16pd.options.display.float_format = '{;.4f}'.format 17#データフレームですべての項目を表示 18pd.set_option("display.max_columns",None) 19#グラフのデフォルトフォント指定 20plt.rcParams["font.size"] = 14 21 22#がん疾患データセットのロード 23from sklearn.datasets import load_breast_cancer 24cancer = load_breast_cancer() 25 26#データフレームへの取り込み 27columns = [ 28 '半径_平均', 'きめ_平均', '周長_平均', '面積_平均', 29 '平滑度_平均', 'コンパクト度_平均', '凹面_平均', 30 '凹点_平均', '対称性_平均', 'フラクタル度_平均', 31 '半径_標準誤差', 'きめ_標準誤差', '周長_標準誤差', 32 '面積_標準誤差', '平滑度_標準誤差', 33 'コンパクト度_標準誤差', '凹面_標準誤差', '凹点_標準誤差', 34 '対称性_標準誤差', 'フラクタル度_標準誤差', 35 '半径_最大', 'きめ_最大', '周長_最大', '面積_最大', 36 '平滑度_最大', 'コンパクト度_最大', '凹面_最大', '凹点_最大', 37 '対称性_最大', 'フラクタル度_最大' 38] 39 40#ロードしたデータのデータフレームへの取り込み 41df = pd.DataFrame(cancer.data, columns=columns) 42#正解データの取得 43y = pd.Series(cancer.target) 44 45#入力データの表示 46 47#入力データの先頭20行目から24行目までの表示 48display(df[20:25])

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

jupyter notebookを使用しています。
エラーコードは長すぎたので一部省略しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/08/10 04:14

df = pd.DataFrame(cancer.data, columns=columns)のところで「NameError: name 'columns' is not defined」が発生しました。
退会済みユーザー

退会済みユーザー

2021/08/10 04:19

すみません。ソースコードが一部間違っていたので修正しました。
guest

回答1

0

ベストアンサー

以下のフォーマット指定書式に誤字があります。セミコロン;ではなくコロン:です。
'{;.4f}''{:.4f}'

投稿2021/08/10 04:17

can110

総合スコア38341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/08/10 04:21

見落としていました。修正したところ表示できました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問