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

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

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

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

解決済

1回答

295閲覧

ファイルからデータフレーム作成

Unwise

総合スコア5

Python 3.x

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2022/09/27 07:54

前提

https://serenard.hatenablog.com/entry/2019/04/07/164337
WindowsでPython3.9を用いています。
現在上のサイトを参考に、青空文庫から複数の小説の文章だけのデータを保存している状態です。その中から学習に使用する作者と作品を選んで新たにファイルを作成しました。
例. D:novel/select/作者名/作品名.txt
これらを用いてDoc2Vecに用いる学習用のデータフレームを作成しようと思っています。
そのためにpandasのデータフレームについて調べたのですが、osのファイルを用いた方法がなかなか見つからずとどまってしまっている状態です。

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • names,textをカラムとすると、namesに作者名、textに文章データの文章といったデータフレームを作成したいです。

・作者名はファイル名から、小説のデータはosのtxtファイルから、とすることは可能でしょうか?

該当のソースコード

https://pythondatascience.plavox.info/pandas/pandas%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86
このサイトを参考に手を付けて見たものの全然進んでいないコードになります。

import pandas as pd import os path = './select/' df = pd.dataframe({ 'names' : , 'text' : })

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

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

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

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

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

Unwise

2022/09/27 09:04

そうなのでしたか、申し訳ありません
guest

回答1

0

ベストアンサー

globによってファイルパスを取得できるので、そこから作者名とテキスト内容を取得しリストに入れます。
最後にリストからデータフレームを作成すればよいです。

Python

1import glob 2import pandas as pd 3 4names, texts = [], [] 5for path in glob.glob(r'.\select\*\*.txt'): 6 name = path.split('\\')[-2] # 作者 7 names.append(name) 8 texts.append(path) # とりあえずファイル名をセット 9 10df = pd.DataFrame({'names':names, 'text':texts}) 11print(df) 12""" 13 names text 140 Alice .\select\Alice\a.txt 151 Alice .\select\Alice\b.txt 162 Bob .\select\Bob\c.txt 17"""

投稿2022/09/27 08:28

can110

総合スコア38268

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

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

Unwise

2022/09/27 09:04

ありがとうございます!試してみます
Unwise

2022/09/27 09:34

無事に動作しました!可能であれば重ねての質問失礼いたします。データフレームを表示させた際、textの部分に上記のコメントの通りファイルのパス名が表示されるのですが、これは文章データが直接格納されているという認識でよろしいのでしょうか?
can110

2022/09/27 09:50

いえ。
Unwise

2022/09/27 11:02

ありがとうございます、助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問