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

質問編集履歴

1

実データでcanさんのプログラムを使用しようとしたところ、うまく行かなかったため、その詳細を記載しています。

2019/02/26 05:04

投稿

shu_magi
shu_magi

スコア19

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,7 @@
1
+ 【追記しています】
2
+ 実際に用いるデータテーブルで実行した場合、要素抽出でなく、リストの最初と最後の文字(今回の場合、括弧())が抽出されてしまいました。この投稿の最後に、詳細を追記します。
3
+
4
+
1
5
  簡単な質問かもしれませんが、わからなかったため質問させてください。
2
6
 
3
7
  ### 前提・実現したいこと
@@ -31,4 +35,60 @@
31
35
  tuple[-1]
32
36
  等の指定を行えばいいことは理解しています。
33
37
 
34
- 宜しくお願い致します。
38
+ 宜しくお願い致します。
39
+
40
+ 【以下、追記部分】
41
+ canさんのプログラムを応用し、下記dataについて、最初と最後のデータを抽出しようとしましたが、うまくいきませんでした。
42
+ ```python_can_san
43
+ import pandas as pd
44
+
45
+ df = pd.DataFrame({'Data':[(1,2,3),(4,5)]})
46
+ df['start'] = df['Data'].apply(lambda x: x[0])
47
+ df['end'] = df['Data'].apply(lambda x: x[-1])
48
+ print(df)
49
+ ```
50
+ 処理前
51
+ |ID|Data|start|end|
52
+ |:--|:--:|--:|--:|
53
+ |1|(1_1, 1_2, 1_3, 1_4)|||
54
+ |2|(1_1, 1_2, 1_3)||
55
+ |3|(2_1, 1_2)||
56
+ |4|(1_1, 1_2, 1_3)||
57
+ |5|(1_1, 1_2)||
58
+ |6|(2_1, 1_2)||
59
+
60
+
61
+ 以下の応用版では、リストの括弧が抜き出されてしまいます。
62
+ (データ自体をリストとして保管できていない??)
63
+ ```python_ouyouban
64
+ import pandas as pd
65
+
66
+ #csv読み込み
67
+ #csv作成前
68
+ df = pd.read_csv("trace_table_test.csv", header=0,)
69
+ df['first_area'] = df['all_area'].apply(lambda x: x[0])
70
+ df['last_area'] = df['all_area'].apply(lambda x: x[-1])
71
+ print(df)
72
+ ```
73
+ |ID|Data|start|end|
74
+ |:--|:--:|--:|--:|
75
+ |1|(1_1, 1_2, 1_3, 1_4)|(|)|
76
+ |2|(1_1, 1_2, 1_3)|(|)|
77
+ |3|(2_1, 1_2)|(|)|
78
+ |4|(1_1, 1_2, 1_3)|(|)|
79
+ |5|(1_1, 1_2)|(|)|
80
+ |6|(2_1, 1_2)|(|)|
81
+
82
+
83
+ 列指定の問題と考え、lambdaの後の値を書き換えましたが、次の文字・数値が抜き出されてしまうようです。
84
+ |ID|Data|start|end|
85
+ |:--|:--:|--:|--:|
86
+ |1|(1_1, 1_2, 1_3, 1_4)|1|4|
87
+ |2|(1_1, 1_2, 1_3)|1|3|
88
+ |3|(2_1, 1_2)|2|2|
89
+ |4|(1_1, 1_2, 1_3)|1|3|
90
+ |5|(1_1, 1_2)|1|2|
91
+ |6|(2_1, 1_2)|2|2|
92
+
93
+ テストデータをExcelで作成、csv保存していることが問題かもしれません。。
94
+ コメントいただけると助かります。