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

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

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

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

pandas

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

Q&A

解決済

2回答

1542閲覧

[pandas]pythonのpandasデータフレームで動的に列追加するコード

Terratale

総合スコア21

Python

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

pandas

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

0グッド

1クリップ

投稿2018/09/18 13:19

tekitou.txt

1あいうえお 2かきくけこ 3さしすせそ 4たちつてと 5なにぬねの 6はひふへほ 7まみむめも 8やゆよ 9らりるれろ 10わをん 11あかさたな 12はまやらわ 13いきしちに 14ひみり 15うくすつぬ 16ふむゆる

こんな感じのファイルがあったとして、これを、
1行を1つの単語として扱い、そして、5行ごとを1つの文書として扱いSCDVしたいのですが、その前準備として、このファイルを

0 あいうえお 0 かきくけこ 0 さしすせそ 0 たちつてと 0 なにぬねの 1 はひふへほ 1 まみむめも 1 やゆよ 1 らりるれろ 1 わをん 2 あかさたな 2 はまやらわ 2 いきしちに 2 ひみり 2 うくすつぬ 3 ふむゆる

のようなデータフレームにする必要がありそうなのですが、
pandasデータフレームにこのように文書番号の列を追加するコードがわかりません。

Python2.7

1# coding: UTF-8 2 3#必要なライブラリをインポート 4import pandas as pd 5 6# 7 8df = pd.read_csv('tekitou.txt',sep=('\n'),header=None)#ファイル読み込み 9 10df['text_num'] = 0#とりあえずハリボテの列を追加 11

この後どのようなコードを書けば考えている通りの列を追加できるでしょうか。
お手数ですがご教示よろしくお願いします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

2例提示します。

python

1l = len(df.index) 2num = int(l/5) + 1 3print("num :", num) 4no = [y for y in range(num) for x in [0]*5] 5print(no) 6 7no = no[:l] 8df.loc[:,'text_num'] = no 9print(df) 10

python

1no = df.reset_index().loc[:,"index"].apply(lambda x: x // 5) 2df.loc[:,'text_num'] = no 3print(no) 4print(df) 5

投稿2018/09/18 14:20

t_obara

総合スコア5488

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

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

Terratale

2018/09/18 14:54

回答ありがとうございます。 先にズラーっと文書番号を並べた後でそれを入れるという方法があったんですね! 無事に狙い通りのデータフレームを作成することができました!
guest

0

取り急ぎ、列追加のコードだけでも。
pandas.DataFrameに列や行を追加

Python3

1df['A'] = 0

投稿2018/09/18 14:16

opyon

総合スコア1009

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

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

Terratale

2018/09/18 14:56

回答ありがとうございます! 参考になるページありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問