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

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

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

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

pandas

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

Q&A

解決済

1回答

933閲覧

テーブルデータに格納する方法

Deep_passion

総合スコア47

Python

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

pandas

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

0グッド

0クリップ

投稿2021/11/04 07:34

編集2021/11/04 08:44

前提・実現したいこと

[{を{にしたいです。
つまり、リストを取り出す作業です。
そして、それを、テーブルに落とし込む方法です。

> [{'text': 'गायन और नृत्य', 'answer_start': 213}] こういうことです。(これを行い、カラムすべてで行い、table dataに格納していく作業です。) > {'text': 'गायन और नृत्य', 'answer_start': 213}

イメージ説明

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

--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /tmp/ipykernel_42/499323355.py in <module> 1 train_fa=pd.read_csv('../input/google-translated-squad20-to-hindi-and-tamil/squad_hi.csv') 2 ----> 3 for val in train_fa.answers.iterrows: 4 print(val) /opt/conda/lib/python3.7/site-packages/pandas/core/generic.py in __getattr__(self, name) 5485 ): 5486 return self[name] -> 5487 return object.__getattribute__(self, name) 5488 5489 def __setattr__(self, name: str, value) -> None: AttributeError: 'Series' object has no attribute 'iterrows'

該当のソースコード

train_fa=pd.read_csv('../input/google-translated-squad20-to-hindi-and-tamil/squad_hi.csv') for val in train_fa.answers.iterrows: print(val)

試したこと

train_answers[i][1:-1]

イメージ説明

ここまでわかったのですが、これから、テーブルデータに格納していくのがわかりかねます。
クールな解答を待っています。

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

ここにより詳細な情報を記載してください。

Python3 (3.7.4)
Jupyter Lab version 1.1.4
macbookpro 16

==>
イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

クールな解答を待っています。

愚直に?

python

1import pandas as pd 2 3train_fa = pd.DataFrame({ 4 'answers': [ 5 "[{'text': 'text 01', 'answer_start': 1}]", 6 "[{'text': 'text 02', 'answer_start': 2}]", 7 "[{'text': 'text 03', 'answer_start': 3}]", 8 "[{'text': 'text 04', 'answer_start': 4}]", 9 "[{'text': 'text 05', 'answer_start': 5}]", 10 ], 11}) 12 13train_fa.answers = train_fa.answers.apply(lambda x: x[1:-1]) 14 15print(train_fa) 16 17# 180 {'text': 'text 01', 'answer_start': 1} 191 {'text': 'text 02', 'answer_start': 2} 202 {'text': 'text 03', 'answer_start': 3} 213 {'text': 'text 04', 'answer_start': 4} 224 {'text': 'text 05', 'answer_start': 5}

投稿2021/11/04 08:32

編集2021/11/04 08:54
melian

総合スコア20655

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

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

Deep_passion

2021/11/04 08:37

AttributeError: 'str' object has no attribute 'items' このようなエラーが出てしまいます。
melian

2021/11/04 08:41 編集

なるほど、answers は文字列として入っているのですね。できれば squad_hi.csv の最初の数行程度を提示してもらえませんか。
Deep_passion

2021/11/04 08:44 編集

承知しました。変更いたしました。
melian

2021/11/04 08:56 編集

さて、書き替えてみましたが、あまりクールさは必要ないような。。。ところで、文字列のままで持つのではなくて辞書に変換しておく方が後々の処理がやり易くなりそうですね。
Deep_passion

2021/11/04 09:02

train_fa.answers_1 = train_fa.answers.apply(lambda x: x[1:-1]) train_f=pd.DataFrame(train_fa.answers_1) これで、できました。本当にありがとうございます。とてもクールでした。最高です!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問