MikiTech

文系新卒エンジニアの学習記録

【Python】言語処理100本ノック2020 13. col1.txtとcol2.txtをマージ

問題

nlp100.github.io

12で作ったcol1.txtとcol2.txtを結合し,元のファイルの1列目と2列目をタブ区切りで並べたテキストファイルを作成せよ.確認にはpasteコマンドを用いよ..

環境

Macbook
Python3.7.7

ソースコード

GitHubを載せておきます。

github.com

あくまで一例です。
もっと効率的な書き方は調べると出てきます。 (ただ個人的には難しかった…)

upura.hatenablog.com

#col1・col2.txtの作成(practice12を参照)
import pandas as pd

df = pd.read_table('chart2/popular-names.txt',header=None,names=['name','sex','number','year'])
col1 = df['name']
clo1 = col1.to_csv('chart2/practice13/col1.txt',index=False)
col2 = df['sex']
col2 = col2.to_csv('chart2/practice13/col2.txt',index=False)

#連結
col1 = pd.read_table('chart2/practice13/col1.txt')
col2 = pd.read_table('chart2/practice13/col2.txt')

merged_txt = pd.concat([col1,col2], axis = 1)
print(merged_txt.head())

今回も、問題12と同様にpandasを使ってみましたpandasのread_tableというものを使って、
表形式に落とし込んでいます。

表形式にする際にカラム名を設定しているため、そのカラム名を指定してデータを抜き出し、csvでテキストファイルとして保存をしています。

その後、それぞれのテキストを読み込みながら、pandasのconcatを使い横連結しています。

note.nkmk.me

以上ですm( )m