2017-06-07 6 views
0

私は、次のコードを持っている:この1つは正常に動作し、名前の配列を返しますが、 Pythonのパンダではなく、一連の配列を返し

for j in account_list: 
my_dict['name'] = (df[df['DESC'].str.contains(j)]['Hostname'].iloc[0]) 

私はそれを変更した場合:

for j in account_list: 
     my_dict['name'] = (df[df['DESC'].str.startswith('Account')]['Hostname']) 

それ私はasarray()とas_matrixを試しましたが、どれも最初の配列のような配列を返しませんでした。どうすれば助けてくれますか? Excelシートから

サンプル: https://paste.pound-python.org/show/VfRmfJEWavU14luvFXQs/

EDIT:期待される結果は次のようにする必要があります:

wordpress 
wordpress 
drupal 
magento 

答えて

0

あなたがmy_dictの要素としてnumpyの配列を意味する場合は、このようにそれをキャストすることができるはずです。

np.array(df[df['DESC'].str.startswith('Account')]['Hostname']) 

それとも、Pythonのリストを意味するならば、ちょうどnp.arrayの代わりにlistを使用しています。

+0

ありがとう、リストは私が探していたものでした – Karl

0

は、スタックオーバーフローを歓迎します。あなたのコードは本当に何も返しませんが、配列を含むようにしたいときはmy_dictにシリーズが含まれていますか?試してくださいthe_pandas_serie_object.values()

+0

はい、それは最初の仮定の通りです。最初の行には配列が含まれ、2番目の配列は系列を返し、最初の配列のように配列を返すことはできません。 – Karl

+0

私は.valuesを試しました。残念ながら、最初のコードの最初の行とは異なり、1つの大きな塊にすべての名前が返されていました。最初の行とは異なり[wordpress、wordpress、drupal、magento] ilocでそれは戻ってきていましたline1 wordpress line2 wordpress line 3 drupal line 4 magento – Karl

関連する問題