スポンサーリンク

pandasのDataFrameで列同士を結合

まずは、csvファイルを読み込みます。
regionとweatherの列名をつけています。

import pandas as pd

data = pd.read_csv('in.txt', names=('region', 'weather'))

単純に、regionとweatherの列を結合する場合には、+演算子で下記のように書けます。
dataConnect = data.region + data.weather

別途、文字列を追加する場合には、下記のように書くこともできます。
dataConnect = data.region + "地域の天気は" + data.weather + "です。"

列が文字列型になっていない場合は結合の際にエラーとなってしまうので、
astype(str)で文字列に変換します。

※ワンポイントであればawkを使うのも手だと思います。

awkで文字列を連結させる方法

import pandas as pd

data = pd.read_csv('in.txt', names=('year', 'month', 'date'))

dataConnect = data.year.astype(str) + "年" + data.month.astype(str) + "月" + data.date.astype(str) + "日"

スポンサーリンク

サンプルコード1

例えば、下記のin.txtがあったとします。

 $ cat in.txt 
E,雨
F,くもり
G,晴れ

下記がサンプルコードになります。
 $ cat sample.py 
#!/usr/bin/env python3
# coding: UTF-8

import pandas as pd

data = pd.read_csv('in.txt', names=('region', 'weather'))

dataConnect = data.region + data.weather
print(dataConnect)

dataConnect = data.region + "地域の天気は" + data.weather + "です。"
print(dataConnect)

下記が実行結果になります。
 $ ./sample.py 
0      E雨
1    Fくもり
2     G晴れ
dtype: object
0      E地域の天気は雨です。
1    F地域の天気はくもりです。
2     G地域の天気は晴れです。
dtype: object

スポンサーリンク

サンプルコード2

例えば、下記のin.txtがあったとします。

 $ cat in.txt 
2018,1,1
2018,1,2
2018,1,3
2018,1,4

下記がサンプルコードになります。
 $ cat sample.py 
#!/usr/bin/env python3
# coding: UTF-8

import pandas as pd

data = pd.read_csv('in.txt', names=('year', 'month', 'date'))

dataConnect = data.year.astype(str) + "年" + data.month.astype(str) + "月" + data.date.astype(str) + "日"
print(dataConnect)

下記が実行結果になります。
 $ ./sample.py 
0    2018年1月1日
1    2018年1月2日
2    2018年1月3日
3    2018年1月4日
dtype: object

スポンサーリンク