2017-11-27 13 views
-2

私は、495行のURLを含む列を持つデータフレームを持っています。私はこれらのURLを画像のグリッドとしてジュピターノートブックに表示したいと考えています。データフレームの最初の行がここに表示されます。どんな助けもありがとうございます。私は、以下の方法を試してみましたjupiter notebookに画像のグリッドを表示

id   latitude  longitude  owner    title       url 
23969985288 37.721238 -123.071023 [email protected] There she blows! https://farm5.staticflickr.com/4491/2396998528... 

from IPython.core.display import display, HTML 
for index, row in data1.iterrows(): 
    display(HTML("<img src='%s'>"%(i["url"]))) 

しかし、上記のコードを実行すると、メッセージ

> TypeError       Traceback (most recent call last) 
<ipython-input-117-4c2081563c17> in <module>() 
     1 from IPython.core.display import display, HTML 
     2 for index, row in data1.iterrows(): 
----> 3 display(HTML("<img src='%s'>"%(i["url"]))) 

TypeError: string indices must be integers 
+0

既に試したことを示すコードを追加してください。 – EFrank

+0

こんにちは、私はいくつかの詳細を追加しました – Tharindu

答えて

0

を表示Jupyterノートブック内の画像のグリッドを表示するための最良の方法ですおそらくmatplotlibを使用してグリッドを作成します。これは、を使用してmatplotlib軸に画像をプロットすることもできるためです。

私は3x165グリッドを使用しています。これは正確に495です。グリッドの寸法を変更するには、自由にそれを混乱させてください。

import urllib 
f, axarr = plt.subplots(3, 165) 
curr_row = 0 
for index, row in data1.iterrows(): 
    # fetch the url as a file type object, then read the image 
    f = urllib.request.urlopen(row["url"]) 
    a = plt.imread(f) 

    # find the column by taking the current index modulo 3 
    col = index % 3 
    # plot on relevant subplot 
    axarr[col,curr_row].imshow(a) 
    if col == 2: 
     # we have finished the current row, so increment row counter 
     curr_row += 1 
+0

おかげでルイーズ、私はあなたのコードでそれを管理することができました。 – Tharindu

関連する問題