teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

プログラム内容を修正いたしました

2019/06/17 10:33

投稿

lmk
lmk

スコア16

title CHANGED
File without changes
body CHANGED
@@ -1,26 +1,28 @@
1
+ ※少しだけ出したい結果に近づいたので、修正させていただきます
2
+
1
3
  つい最近pythonを扱い始めた初心者です。
2
4
  pythonを用いてデータ処理を行っております。
3
5
 
4
6
  csvファイルにおいて列ごとに3通りの組み合わせを作りたいです。具体的には
5
7
 
6
- ファイルA
8
+ ファイルa
7
9
  name1 num1 num2
8
10
  a 1 2
9
11
  b 3 4
10
12
 
11
- ファイルB
13
+ ファイルb
12
14
  name2 num3 num4
13
15
  c 5 6
14
16
  d 7 8
15
17
  e 9 10
16
18
 
17
- ファイルC
19
+ ファイルc
18
20
  name3 num5 num6
19
21
  f 11 12
20
22
  g 13 14
21
23
 
22
24
  だとしたら
23
- ファイルD
25
+ ファイルd
24
26
  name1 num1 num2 name2 num3 num4 name3 num5 num6
25
27
  a 1 2 c 5 6 f 11 12
26
28
  a 1 2 c 5 6 g 13 14
@@ -37,14 +39,31 @@
37
39
 
38
40
  ```html
39
41
 
42
+ import pandas as pd
43
+ import csv
44
+ import sys
45
+ import numpy as np
46
+ import itertools
47
+
40
- df_A = pd.read_csv('A.csv')
48
+ df_A = pd.read_csv('a.csv',index_col=0)
41
- df_B = pd.read_csv('B.csv')
49
+ df_B = pd.read_csv('b.csv',index_col=0)
42
- df_C = pd.read_csv('C.csv')
50
+ df_C = pd.read_csv('c.csv',index_col=0)
43
- df = itertools.product(df_A.itertuples(), df_B.itertuples(),df_C.itertuples())
51
+ df_D = itertools.product(df_A.itertuples(), df_B.itertuples(),df_C.itertuples())
52
+
53
+ a = df_A.itertuples(name=None)
54
+ b = df_B.itertuples(name=None)
55
+ c = df_C.itertuples(name=None)
56
+
57
+ df = pd.DataFrame(columns=['a','b','c'])
58
+ for aa,bb,cc in itertools.product(a,b,c):
59
+ dfp = pd.DataFrame({'a':[aa], 'b':[bb], 'c':[cc]})
60
+ df = pd.concat([df, dfp], axis=0)
61
+
44
- df_D.to_csv('df_D.csv')
62
+ df.to_csv('d.csv')
63
+ print(df)
45
64
  ```
46
65
 
47
- 列名は反映され、行番号がふられたのですが、中身は空白ってしまいまし
66
+ り前なのですが、列の値全てが一つのセルの中にってしまい、一つずつ違うセルに入れいのですができません、、、
48
67
 
49
68
 
50
69
  また、行番号の有無は問いません、あってもなくても問題ないです。