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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

2302閲覧

教科書通りの記述をしてもエラーメッセージがでてしまう python

YM_anoahiro

総合スコア21

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2019/11/14 03:37

編集2019/11/14 03:50

前提・実現したいこと

教科書に沿ってプログラミングを組んでいます
そのなかで教科書通りに打ち込んでも出来ない箇所がありました。
また、Macを使用しています。
使用している教科書は「東京大学のデータサイエンティスト育成講座」です

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

*1 /Users/mahiro/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:7: UserWarning: Pandas doesn't allow columns to be created via a new attribute name - see https://pandas.pydata.org/pandas-docs/stable/indexing.html#attribute-access import sys これがエラーメッセージとしてでます。背景が赤くなっています。 また、内容を確認してもカラムは変更されていませんでした。 *2 File "<ipython-input-15-bed5b22e641a>", line 1 auto=auto.assign(25=pd.to_numeric(auto.25)) ^ SyntaxError: invalid syntax やはり、数字のままではできないのでしょうか?

該当のソースコード

python3

1import numpy as np 2import numpy.random as random 3import scipy as sp 4from pandas import Series,DataFrame 5import pandas as pd 6import matplotlib.pyplot as plt 7import matplotlib as mpl 8import seaborn as sns 9%matplotlib inline 10import sklearn 11%precision 3 12#'%.3f' 13 14import requests,zipfile 15import io 16 17url='http://archive.ics.uci.edu/ml/machine-learning-databases/autos/imports-85.data' 18res=requests.get(url).content 19 20#***********1以下の部分にエラーメッセージが出てします 21#取得したデータをDATAFrameオブジェクトとして読み込み 22auto=pd.read_csv(io.StringIO(res.decode('utf-8')),header=None) 23#データの列にラベルを設定 24auto.colums=['symboling','normalized-losses','make','fuel-type','aspiration','num-of-doors', 25 'body-style','drive-wheels','engine-location','wheel-base','length','width','height', 26 'curb-weight','engine-type','num-of-cylinders','engine-size','fuel-system','bore', 27 'stroke','compression-ratio','horsepower','peak-rpm','city-mpg','higtway-mpg','price'] 28#*************** 29#それぞれのカラムに?が何個あるかをカウント 30auto=auto[[25,21,11,12]] 31auto.isin(['?']).sum() 32''' 3325 4 3421 2 3511 0 3612 0 37dtype: int64 38''' 39 40#そのため、無理矢理数字のままでとりあえず作業することにしたのですが、 41 42#?をNaNに置換して、NaNがある行を削除 43auto=auto.replace('?',np.nan).dropna() 44print('自動車データの形式:{}'.format(auto.shape)) 45#自動車データの形式:(199, 4) 46 47print('データ型の確認(型変換前)\n{}\n'.format(auto.dtypes)) 48''' 49データ型の確認(型変換前) 5025 object 5121 object 5211 float64 5312 float64 54dtype: object 55''' 56 57#***********2 教科書の本来カラム名が入る場所を数字に置き換えたところ、上手くいきませんでした 58auto=auto.assign(25=pd.to_numeric(auto.25)) 59auto=auto.assign(21=pd.to_numeric(auto.21)) 60print('データ型の確認(型変換後)\n{}\n'.format(auto.dtypes)) 61#************

お願い

質問のマナー等が間違っている、内容がわかりにくい等ありましたらご指摘お願いします。

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

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

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

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

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

hayataka2049

2019/11/14 03:41

参考にした教科書は出典情報を記載してください。また、コード中に書き込んだ結果や説明などはコメントアウトするようにお願いします。
siruku6

2019/11/14 03:44 編集

実際のソースコードには書かれていない行すべての先頭に半角の # を付けていただきたいです。 また、処理の実行結果なのか、ソースコードなのかの判別がしにくいので、処理の実行結果が書かれている行がはっきり分かるように、何か区切り行を入れたりするとよいと思います。 (「」だと、改行が挟まっていると実行結果がどこからどこまでなのか一見してわかりにくいです...)
siruku6

2019/11/14 03:51

大変見やすくなりましたね!
YM_anoahiro

2019/11/14 03:53

hayataka2049さん、siruku6さんご指摘ありがとうございました!
guest

回答1

0

ベストアンサー

columns のスペルが違います。

diff

1- auto.colums 2+ auto.columns

投稿2019/11/14 04:34

tiitoi

総合スコア21956

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問