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

質問編集履歴

2

質問内容追記

2017/12/13 15:24

投稿

HearthXml
HearthXml

スコア51

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("TSVファイル")
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

題名が間違っている

2017/12/13 15:24

投稿

HearthXml
HearthXml

スコア51

title CHANGED
@@ -1,1 +1,1 @@
1
- 文字列の中にdataframeの全要素と部分一致する要素の情報の取得方法を教えてください。
1
+ 文字列の中にdataframeと部分一致する要素の情報の取得方法を教えてください。
body CHANGED
File without changes