質問編集履歴
2
質問内容追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
+
```
|
2
|
+
csvファイル
|
3
|
+
|
4
|
+
ゴリラ,パンダ,ニワトリ
|
5
|
+
インコ,サル,カワウソ
|
6
|
+
キリン,ワニ,ゾウ
|
7
|
+
```
|
1
8
|
```Python
|
2
9
|
import pandas
|
3
10
|
|
11
|
+
#実際のcsvファイルには、列名ないのでheader=Noneで自動で列名を付ける設定にしています。
|
4
|
-
df = pandas.read_csv("
|
12
|
+
df = pandas.read_csv("csvファイル",header=None)
|
5
13
|
#全ての要素に対してラムダ式を使ってfindで検索かける
|
6
14
|
s = df.applymap(lambda x: "検索ワード".find(str(x)))
|
7
15
|
#ヒットしない要素には-1が表示されヒットしたものは-1以外の数字が表示される(dataframeの2列目以降をfindしたときの数字の意味がわからない)
|
@@ -11,4 +19,22 @@
|
|
11
19
|
上の要領で検索していけばいいのですが、その―1以外の要素の行列の取得ができません。
|
12
20
|
もしかしたら
|
13
21
|
s = df.applymap(lambda x: str(x).find("検索ワード"))
|
14
|
-
とデータフレームを数字に変えなくても、検索キーワードに一致する要素を見つけれる方法があるかもしれません。
|
22
|
+
とデータフレームを数字に変えなくても、検索キーワードに一致する要素を見つけれる方法があるかもしれません。
|
23
|
+
|
24
|
+
追記
|
25
|
+
|
26
|
+
前提条件として、
|
27
|
+
文字列の長さは
|
28
|
+
検索ワード>=データフレームの要素
|
29
|
+
検索ワードは"サル"といった単語のみや
|
30
|
+
"ワニ クジラ"といった複数単語
|
31
|
+
"ワニが逃げた"といった短文だったりします。
|
32
|
+
|
33
|
+
期待する抽出内容として、
|
34
|
+
検索ワードは"ワニとサル"とすると、
|
35
|
+
ワニとサルがある行数と列数を取得する。
|
36
|
+
または、ヒットした単語の行にある他の要素の単語を取得したいです。
|
37
|
+
ワニならキリン,ゾウ
|
38
|
+
サルならインコ,カワウソ
|
39
|
+
|
40
|
+
最初の投稿でtsvファイルを扱うと書きましたが、CSVファイルを扱うことが分かったので変更しました。
|
1
題名が間違っている
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
文字列の中にdataframe
|
1
|
+
文字列の中にdataframeと部分一致する要素の情報の取得方法を教えてください。
|
body
CHANGED
File without changes
|