👩‍💻

言語処理100本ノック 2020 (Rev 2) 第2章:UNIXコマンド12. 1列目をcol1.txtに,2列目をcol2.txtに保存

2023/01/07に公開約1,000字

問題

12. 1列目をcol1.txtに,2列目をcol2.txtに保存

各行の1列目だけを抜き出したものをcol1.txtに,2列目だけを抜き出したものをcol2.txtとしてファイルに保存せよ.確認にはcutコマンドを用いよ.

solution12.py
import pandas as pd

df = pd.read_csv('chapter02/popular-names.txt', sep='\t', header=None)
df.iloc[:,0].to_csv('chapter02/col1.txt', index=False, header=False)
df.iloc[:,1].to_csv('chapter02/col2.txt', index=False, header=False)
col1.txt
Mary
Anna
Emma
Elizabeth
Minnie
col2.txt
F
F
F
F
F
solution12.sh
cut -f 1 -d $'\t' popular-names.txt | head -n5
cut -f 2 -d $'\t' popular-names.txt | head -n5
output
Mary
Anna
Emma
Elizabeth
Minnie
F
F
F
F
F

pandas.DataFrameの任意の位置のデータを取り出したり変更(代入)したりするには、loc, ilocを使います。この問題では、ilocを使用します。ilocは行番号と列番号で位置を指定できます。また、インデックス参照df[]で行・列でも取得できます。

https://github.com/kurokawa5/nlp100_2020/blob/main/chapter02/solution12.py

参考記事

第2章: UNIXコマンド
pandasで任意の位置の値を取得・変更するat, iat, loc, iloc

Discussion

ログインするとコメントできます