列の各行に Excel の多くの文のリストがあります。そのような文章を含む列が 3 つ以上あります。これらにはいくつかの一般的な文があります。スクリプトを作成してベン図を作成し、すべての共通のものを取得することは可能ですか?
例: これらは列の文です。同様に、さまざまな列があります。
がん由来の血液リンパ球
患者からの血液リンパ球
卵巣腫瘍_Grade III
腹膜腫瘍_Grade IV
ホルモン耐性PCA
Pythonでスクリプトを書くことは可能ですか?
列の各行に Excel の多くの文のリストがあります。そのような文章を含む列が 3 つ以上あります。これらにはいくつかの一般的な文があります。スクリプトを作成してベン図を作成し、すべての共通のものを取得することは可能ですか?
例: これらは列の文です。同様に、さまざまな列があります。
がん由来の血液リンパ球
患者からの血液リンパ球
卵巣腫瘍_Grade III
腹膜腫瘍_Grade IV
ホルモン耐性PCA
Pythonでスクリプトを書くことは可能ですか?
これが私の質問の解釈です...
データ ファイル z.csv を指定します (データを Excel から CSV ファイルにエクスポートします)。
"Blood lymphocytes from cancer","Blood lymphocytes from sausages","Ovarian tumor_Grade III"
"Blood lymphocytes from patients","Ovarian tumor_Grade III","Peritoneum tumor_Grade IV"
"Ovarian tumor_Grade III","Peritoneum tumor_Grade IV","Hormone resistant PCA"
"Peritoneum tumor_Grade XV","Hormone resistant PCA","Blood lymphocytes from cancer"
"Hormone resistant PCA",,"Blood lymphocytes from patients"
このプログラムは、すべての列に共通する文を見つけます
import csv
# Open the csv file
rows = csv.reader(open("z.csv"))
# A list of 3 sets of sentences
results = [set(), set(), set()]
# Read the csv file into the 3 sets
for row in rows:
for i, data in enumerate(row):
results[i].add(data)
# Work out the sentences common to all rows
intersection = results[0]
for result in results[1:]:
intersection = intersection.intersection(result)
print "Common to all rows :-"
for data in intersection:
print data
そして、この回答を出力します
Common to all rows :-
Hormone resistant PCA
Ovarian tumor_Grade III
それがあなたが探しているものであると100%確信しているわけではありませんが、うまくいけば、それがあなたの出発点になるでしょう!
必要な数の列に簡単に一般化できますが、これ以上複雑にしたくありませんでした
あなたの質問は完全に明確ではないので、あなたが探しているものを誤解しているかもしれません.
ベン図は、ほんの数個の単純な Set 操作です。Python では、この機能がSetデータ型に組み込まれています。基本的には、アイテムの 2 つのグループを取り、セット操作を使用します (たとえばintersection
、共通アイテムを見つけるために使用します)。
split
データを読み込むには、おそらくファイルを CSV 形式で保存し、stringメソッドで解析するのが最善の策です。