質問編集履歴
1
ilocの書き方について、質問を追加しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -72,6 +72,27 @@
|
|
72
72
|
のように、該当する変数をひとつづつ処理するような泥臭いやり方をしているのですが、
|
73
73
|
こういう同じような処理を上手にまとめて流す良い方法はありませんでしょうか?
|
74
74
|
|
75
|
+
また、各ブロックの.apply(lambda x: x[1])の部分なのですが、
|
76
|
+
tmp=df['xxx'].str.split('=')
|
77
|
+
df['xxx']=tmp.iloc[:,1]
|
78
|
+
のような形で実装しようとすると2行目の処理のところで、indexがおかしいと言われます。
|
79
|
+
te_key_length
|
80
|
+
raise IndexingError("Too many indexers")
|
81
|
+
pandas.core.indexing.IndexingError: Too many indexers
|
82
|
+
|
83
|
+
df['xxx']=tmp.iloc[1]
|
84
|
+
ならとおりますが、これでは2列目(縦)では無く、2行目(横)が出力されてしまいます。
|
85
|
+
[xxx, 1.88]
|
86
|
+
みたいな感じで一行分だけが出力される感じです。
|
87
|
+
|
88
|
+
print(tmp)すると
|
89
|
+
4246 [xxx, 3 ]
|
90
|
+
4245 [xxx, 2.9 ]
|
91
|
+
4244 [xxx, 2.8 ]
|
92
|
+
4243 [xxx, 2.7 ]
|
93
|
+
のような感じなので、split('=')自体は正しく動いているように見えます。
|
94
|
+
|
95
|
+
正しくはどのように書けば良いのでしょうか?
|
75
96
|
|
76
97
|
|
77
98
|
|