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

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

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

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

0回答

1134閲覧

pandasのヘッダーとカラムズの重複を解消したい。

退会済みユーザー

退会済みユーザー

総合スコア0

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2020/04/06 06:53

最終目標:ヘッダーとカラムズの重複の解消(3つ目の表のIndex“0”とヘッド)
問題:そもそもの問題として表内の行数とカラムズの個数がそろっていないため、csvが開けないというところから始まります。
上記の問題を解決するため、カラムズに数字の名前を割り当てる処理をしています。(col_names = [ 'c{0:02d}'.format(i) for i in range(10) ])

その後、カラムズを再度削除します。しかし“c00”内にすべてのデータが入っているため出してあげる処理をしています。(dfs2 = dfs2['c00'].str.split(',', expand=True))

columns8のNoneとIndex0が不要なので、消すためにcolumnsに名前を再度与え、消そうとしています。が消せません。

Python

1(base) C:\Users\detec>python 2Python 3.7.7 (default, Mar 23 2020, 23:19:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 3Type "help", "copyright", "credits" or "license" for more information. 4>>> import pandas as pd 5>>> col_names = [ 'c{0:02d}'.format(i) for i in range(10) ] 6>>> dfs = pd.read_csv( 'C:/Users/detec/Desktop/coronaHyogo.csv', sep='\t', names=col_names) 7>>> dfs2 =dfs.drop(columns=['c01','c02','c03','c04','c05','c06','c07','c08','c09']) 8>>> dfs2 = dfs2['c00'].str.split(',', expand=True) 9>>> print(dfs2) 10 0 1 2 3 4 5 6 7 110 番号 年代 性別 居住地 職業 発表日 備考 None 121 202 60 男性 神戸市 自営業 45None 132 201 60 男性 神戸市 無職 45None 143 200 60 女性 神戸市 無職 45None 154 199 40 男性 神戸市 会社員 45None 16.. ... .. .. ... ... ... ... ... 17201 48 5 40 男性 姫路市 会社員 3618202 49 4 50 女性 福崎町 無職 3519203 50 3 40 女性 神戸市 会社員 3320204 51 2 40 男性 神戸市 会社員 3321205 52 1 40 男性 西宮市 会社員 3122 23[206 rows x 8 columns] 24 25>>> dfs2.columns = ["番号","年代","性別","居住地","職業","発表日","備考","aa" 26>>> dfs2.head 27<bound method NDFrame.head of 番号 年代 性別 居住地 職業 発表日 備考 aa 280 番号 年代 性別 居住地 職業 発表日 備考 None 291 202 60 男性 神戸市 自営業 45None 302 201 60 男性 神戸市 無職 45None 313 200 60 女性 神戸市 無職 45None 324 199 40 男性 神戸市 会社員 45None 33.. ... .. .. ... ... ... ... ... 34201 48 5 40 男性 姫路市 会社員 3635202 49 4 50 女性 福崎町 無職 3536203 50 3 40 女性 神戸市 会社員 3337204 51 2 40 男性 神戸市 会社員 3338205 52 1 40 男性 西宮市 会社員 3139 40>>> dfs2 = dfs2.drop(columns="aa") 41>>> dfs2.head 42<bound method NDFrame.head of 番号 年代 性別 居住地 職業 発表日 備考 430 番号 年代 性別 居住地 職業 発表日 備考 441 202 60 男性 神戸市 自営業 45452 201 60 男性 神戸市 無職 45463 200 60 女性 神戸市 無職 45474 199 40 男性 神戸市 会社員 4548.. ... .. .. ... ... ... ... 49201 48 5 40 男性 姫路市 会社員 3650202 49 4 50 女性 福崎町 無職 3551203 50 3 40 女性 神戸市 会社員 3352204 51 2 40 男性 神戸市 会社員 3353205 52 1 40 男性 西宮市 会社員 3154 55[206 rows x 7 columns]> 56>>> DataFrame.set_index("番号", inplace = True) 57Traceback (most recent call last): 58 File "<stdin>", line 1, in <module> 59NameError: name 'DataFrame' is not defined 60>>> from pandas import Dataframe 61Traceback (most recent call last): 62 File "<stdin>", line 1, in <module> 63ImportError: cannot import name 'Dataframe' from 'pandas' (C:\Users\detec\Anaconda3\lib\site-packages\pandas\__init__.py) 64>>> from pandas import DataFrame 65>>> DataFrame.set_index("番号", inplace = True) 66Traceback (most recent call last): 67 File "<stdin>", line 1, in <module> 68TypeError: set_index() missing 1 required positional argument: 'keys' 69>>> DataFrame.set_index(0, inplace = True) 70Traceback (most recent call last): 71 File "<stdin>", line 1, in <module> 72TypeError: set_index() missing 1 required positional argument: 'keys' 73>>> print(dfs2.header) 74Traceback (most recent call last): 75 File "<stdin>", line 1, in <module> 76 File "C:\Users\detec\Anaconda3\lib\site-packages\pandas\core\generic.py", line 5274, in __getattr__ 77 return object.__getattribute__(self, name) 78AttributeError: 'DataFrame' object has no attribute 'header' 79>>> 80 81 82

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

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

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

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

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

meg_

2020/04/06 13:44

「表内の行数とカラムズの個数がそろっていない」とはどういう状況でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問