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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

Python

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

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1789閲覧

Pythonにおいて1重と2重の角かっこは型は同じでも処理によってはエラーとなってしまう問題について

退会済みユーザー

退会済みユーザー

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

Python

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

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2019/06/07 03:08

編集2019/06/07 03:43

前提・実現したいこと

過去の質問
複数の試行から得られたデータの標準偏差と標準誤差を求める方法についてでいただいた回答に沿って、
基礎統計量を求めるコードを実行しましたが、1重と2重の角かっこで定義されるリストにおいて
処理結果が異なるという問題があります。

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

2重角かっこの場合は以下のエラーが出て、基礎統計量を求められません。
2重角かっこのリストは、外部からデータを読み込んでリストに入れているので生成されるようです。

--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-26-3ac682c254fa> in <module>() ----> 1 print(df.describe()) /Users/username/anaconda/lib/python3.6/site-packages/pandas/core/generic.py in describe(self, percentiles, include, exclude) 5266 data = self.select_dtypes(include=include, exclude=exclude) 5267 -> 5268 ldesc = [describe_1d(s) for _, s in data.iteritems()] 5269 # set a convenient order for rows 5270 names = [] /Users/username/anaconda/lib/python3.6/site-packages/pandas/core/generic.py in <listcomp>(.0) 5266 data = self.select_dtypes(include=include, exclude=exclude) 5267 -> 5268 ldesc = [describe_1d(s) for _, s in data.iteritems()] 5269 # set a convenient order for rows 5270 names = [] /Users/username/anaconda/lib/python3.6/site-packages/pandas/core/generic.py in describe_1d(data) 5249 return describe_numeric_1d(data) 5250 else: -> 5251 return describe_categorical_1d(data) 5252 5253 if self.ndim == 1: /Users/username/anaconda/lib/python3.6/site-packages/pandas/core/generic.py in describe_categorical_1d(data) 5223 def describe_categorical_1d(data): 5224 names = ['count', 'unique'] -> 5225 objcounts = data.value_counts() 5226 count_unique = len(objcounts[objcounts != 0]) 5227 result = [data.count(), count_unique] /Users/username/anaconda/lib/python3.6/site-packages/pandas/core/base.py in value_counts(self, normalize, sort, ascending, bins, dropna) 949 from pandas.core.algorithms import value_counts 950 result = value_counts(self, sort=sort, ascending=ascending, --> 951 normalize=normalize, bins=bins, dropna=dropna) 952 return result 953 /Users/username/anaconda/lib/python3.6/site-packages/pandas/core/algorithms.py in value_counts(values, sort, ascending, normalize, bins, dropna) 376 else: 377 # ndarray path. pass original to handle DatetimeTzBlock --> 378 keys, counts = _value_counts_arraylike(values, dropna=dropna) 379 380 from pandas import Index, Series /Users/username/anaconda/lib/python3.6/site-packages/pandas/core/algorithms.py in _value_counts_arraylike(values, dropna) 444 values = _ensure_object(values) 445 mask = isnull(values) --> 446 keys, counts = htable.value_count_object(values, mask) 447 if not dropna and mask.any(): 448 keys = np.insert(keys, 0, np.NaN) pandas/hashtable.pyx in pandas.hashtable.value_count_object (pandas/hashtable.c:21322)() pandas/hashtable.pyx in pandas.hashtable.value_count_object (pandas/hashtable.c:21057)() TypeError: unhashable type: 'list'

該当のソースコード

2重角かっこの場合

python

1import numpy as np 2import pandas as pd 3 4import numpy as np 5import pandas as pd 6A= pd.read_table(“data.txt", header=None) 7AA = A.values.tolist() 8#BB~EEまで省略 9 10AA = [[2,5,6,6,8,9,9,10]] 11BB = [[2,5,6,6,8,8,10,16]] 12CC = [[1,2,4,5,7,13,15,13]] 13DD = [[3,5,6,7,9,10,10,11]] 14EE = [[3,5,8,10,11,12,13,10]] 15df = pd.DataFrame({'AA':AA, 'BB':BB, 'CC':CC, 'DD':DD, 'EE':EE})

1重角かっこの場合

python

1import numpy as np 2import pandas as pd 3A = [2,5,6,6,8,9,9,10] 4B = [2,5,6,6,8,8,10,16] 5C = [1,2,4,5,7,13,15,13] 6D = [3,5,6,7,9,10,10,11] 7E = [3,5,8,10,11,12,13,10] 8df = pd.DataFrame({'A':A, 'B':B, 'C':C, 'D':D, 'E':E}) 9print(df.describe()) 10# A B C D E 11#count 8.000000 8.000000 8.000000 8.000000 8.000000 12#mean 6.875000 7.625000 7.500000 7.625000 9.000000 13#std 2.642374 4.138236 5.451081 2.825269 3.464102 14#min 2.000000 2.000000 1.000000 3.000000 3.000000 15#25% 5.750000 5.750000 3.500000 5.750000 7.250000 16#50% 7.000000 7.000000 6.000000 8.000000 10.000000 17#75% 9.000000 8.500000 13.000000 10.000000 11.250000 18#max 10.000000 16.000000 15.000000 11.000000 13.000000

試したこと

1重と2重の角かっこは同じ型であることを確認

type(A) list type(AA) list

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

python3.6

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

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

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

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

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

quickquip

2019/06/07 03:14 編集

かぎ括弧は普通 「」(1重かぎ括弧)や 『』(2重かぎ括弧) のことであって、 [] は角括弧と呼ぶと思うので、表題や質問を修正した方がいいでしょう。
guest

回答1

0

ベストアンサー

Python

1df = pd.DataFrame({'AA':AA[0], 'BB':BB[0], 'CC':CC[0], 'DD':DD[0], 'EE':EE[0]})

のように、単純に2重リストを1つめの内側の要素を指定するのでは駄目でしょうか?

Python

1import numpy as np 2import pandas as pd 3 4AA = [[2,5,6,6,8,9,9,10]] 5BB = [[2,5,6,6,8,8,10,16]] 6CC = [[1,2,4,5,7,13,15,13]] 7DD = [[3,5,6,7,9,10,10,11]] 8EE = [[3,5,8,10,11,12,13,10]] 9df = pd.DataFrame({'AA':AA[0], 'BB':BB[0], 'CC':CC[0], 'DD':DD[0], 'EE':EE[0]}) 10print(df) 11# AA BB CC DD EE 12#0 2 2 1 3 3 13#1 5 5 2 5 5 14#2 6 6 4 6 8 15#3 6 6 5 7 10 16#4 8 8 7 9 11 17#5 9 8 13 10 12 18#6 9 10 15 10 13 19#7 10 16 13 11 10

投稿2019/06/07 03:21

magichan

総合スコア15898

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問