※少しだけ出したい結果に近づいたので、修正させていただきます
つい最近pythonを扱い始めた初心者です。
pythonを用いてデータ処理を行っております。
csvファイルにおいて列ごとに3通りの組み合わせを作りたいです。具体的には
ファイルa
name1 num1 num2
a 1 2
b 3 4
ファイルb
name2 num3 num4
c 5 6
d 7 8
e 9 10
ファイルc
name3 num5 num6
f 11 12
g 13 14
だとしたら
ファイルd
name1 num1 num2 name2 num3 num4 name3 num5 num6
a 1 2 c 5 6 f 11 12
a 1 2 c 5 6 g 13 14
a 1 2 d 7 8 f 11 12
・
・
・
というような結果を求めています。
尚、カンマ区切りで別々のセルに代入したいです。
途中までで申し訳ありませんが、こちらが試したプログラムです。
html
1 2import pandas as pd 3import csv 4import sys 5import numpy as np 6import itertools 7 8df_A = pd.read_csv('a.csv',index_col=0) 9df_B = pd.read_csv('b.csv',index_col=0) 10df_C = pd.read_csv('c.csv',index_col=0) 11df_D = itertools.product(df_A.itertuples(), df_B.itertuples(),df_C.itertuples()) 12 13a = df_A.itertuples(name=None) 14b = df_B.itertuples(name=None) 15c = df_C.itertuples(name=None) 16 17df = pd.DataFrame(columns=['a','b','c']) 18for aa,bb,cc in itertools.product(a,b,c): 19 dfp = pd.DataFrame({'a':[aa], 'b':[bb], 'c':[cc]}) 20 df = pd.concat([df, dfp], axis=0) 21 22df.to_csv('d.csv') 23print(df)
当たり前なのですが、列の値全てが一つのセルの中に入ってしまい、一つずつ違うセルに入れたいのですができません、、、
また、行番号の有無は問いません、あってもなくても問題ないです。
初歩的な質問で申し訳ありません。ご教授願います。
回答1件
あなたの回答
tips
プレビュー