C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Pythonでのこの意味を教えてください。


(過去ログ 163 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■94276 / inTopicNo.1)  Pythonでのこの意味を教えてください。
  
□投稿者/ さき (26回)-(2020/03/29(Sun) 13:29:46)

分類:[その他の OS] 

Python超初心者で恐縮です。

print(s) では
[[0.41791078 0.23484042 0.34724882]]
のようになります。

それを
import csv
with open('C:/Users/****/***.csv', 'w') as f:
 writer = csv.writer(f)
 writer.writerow(s)
のようにもし、実行もしますと、csvファイルには
[0.41791078 0.23484042 0.34724882]
ともなります。

そもそも、この[[ ]]や[ ]は何なのでしょう?
またここで扱われてるのは文字列ですよね?

実際にcsvファイルに書き込みたいのは
0.41791078 0.23484042 0.34724882
でもあり
最終的には
0.41791078,0.23484042,0.34724882
でもあります。

引用返信 編集キー/
■94277 / inTopicNo.2)  Re[1]: Pythonでのこの意味を教えてください。
□投稿者/ とっちゃん (663回)-(2020/03/29(Sun) 14:23:24)
No94276 (さき さん) に返信
> Python超初心者で恐縮です。
>

とりあえず、誰もリファレンスを提示していないので提示しておきますね。

https://docs.python.org/ja/3/


print関数に関してはこちらから。

https://docs.python.org/ja/3/library/functions.html#print

csv に関してはこちらかな。

https://docs.python.org/ja/3/library/csv.html?highlight=csv#module-csv

用例が出てるので実際に試してみてどうなるか実験してみるといいと思います。

直接的な回答ではありませんが、これまで皆さんが書いてくれたことや
自分で試したことなどをつなぎ合わせていけば色々見えてくるんじゃないかな?

用例で渡しているパターン('|'とか)を変えてみるとどうなるかも
実験してみるといいと思います。

引用返信 編集キー/
■94278 / inTopicNo.3)  Re[1]: Pythonでのこの意味を教えてください。
□投稿者/ 魔界の仮面弁士 (2651回)-(2020/03/29(Sun) 14:50:47)
2020/03/29(Sun) 15:00:02 編集(投稿者)

No94276 (さき さん) に返信
> print(s) では
> [[0.41791078 0.23484042 0.34724882]]
> のようになります。

その s が何者か分かりませんが、何らかのリスト、
たとえば NumPy の多次元配列(ndarray) などではないですかね?

import numpy as np
s = np.array([[ 0.41791078, 0.23484042, 0.34724882]])
print(s) #『[[ 0.41791078 0.23484042 0.34724882]]』
print(type(s)) #『<class 'numpy.ndarray'>』


> そもそも、この[[ ]]や[ ]は何なのでしょう?

print(type(s)) では何が返されますか?


> またここで扱われてるのは文字列ですよね?

print した結果は文字列ですが、
print に渡しているのは文字列ではなく、配列・リストなのでは。

https://paiza.io/projects/3QeCspF2GT4kpGEcfpNODg

引用返信 編集キー/
■94279 / inTopicNo.4)  Re[2]: Pythonでのこの意味を教えてください。
□投稿者/ さき (27回)-(2020/03/29(Sun) 16:58:37)
No94278 (魔界の仮面弁士 さん) に返信

> その s が何者か分かりませんが、
s はその前段からの得られたものでもあり、
文字列ではなく、配列・リストなのかも分かってはいません。


> print(type(s)) では何が返されますか?
<class 'numpy.ndarray'>
とはなりました。

引用返信 編集キー/
■94280 / inTopicNo.5)  Re[3]: Pythonでのこの意味を教えてください。
□投稿者/ 魔界の仮面弁士 (2652回)-(2020/03/29(Sun) 18:22:11)
No94279 (さき さん) に返信
>>その s が何者か分かりませんが、
> s はその前段からの得られたものでもあり、
> 文字列ではなく、配列・リストなのかも分かってはいません。

それを調べるため、先の回答で type 関数を紹介した次第です。
何者か調べておかなければ、その後の操作もままなりませんよね。


>>print(type(s)) では何が返されますか?
> <class 'numpy.ndarray'>
> とはなりました。

それは、数値計算ライブラリ NumPy で提供される多次元配列ですね。
https://note.nkmk.me/python-list-array-numpy-ndarray/



Python という言語を扱ったことが無いので、詳しいことは説明できませんが、
とりあえず https://paiza.io/ja/ で試してみたら、こんな結果になりました。

import numpy as np

print("これは float 3 つの list です")
s = [0.41791078, 0.23484042, 0.34724882]
print(s) #『[0.41791078, 0.23484042, 0.34724882]』
print(s[0]) #『0.41791078』
print(type(s)) #『<class 'list'>』
print(type(s[0])) #『<class 'float'>』

print("これは float 3 つの list が 1 つの list です")
s = [[0.41791078, 0.23484042, 0.34724882]]
print(s) #『[[0.41791078, 0.23484042, 0.34724882]]』
print(s[0]) #『[0.41791078, 0.23484042, 0.34724882]』
print(s[0][0]) #『0.41791078』
print(type(s)) #『<class 'list'>』
print(type(s[0])) #『<class 'list'>』
print(type(s[0][0])) #『<class 'float'>』

print("これは float 1 つの list が 3 つの list です")
s = [[0.41791078], [0.23484042], [0.34724882]]
print(s) #『[[0.41791078], [0.23484042], [0.34724882]]』
print(s[0]) #『[0.41791078]』
print(s[0][0]) #『0.41791078』
print(type(s)) #『<class 'list'>』
print(type(s[0])) #『<class 'list'>』
print(type(s[0][0])) #『<class 'float'>』

print("これは numpy.float64 3 つの numpy.ndarray です")
s = np.array([0.41791078, 0.23484042, 0.34724882])
print(s) #『[ 0.41791078 0.23484042 0.34724882]』
print(s[0]) #『0.41791078』
print(type(s)) #『<class 'numpy.ndarray'>』
print(type(s[0])) #『<class 'numpy.float64'>』

print("これは numpy.float64 3 つの numpy.ndarray が 1 つの numpy.ndarray です")
s = np.array([[0.41791078, 0.23484042, 0.34724882]])
print(s) #『[[ 0.41791078 0.23484042 0.34724882]]』
print(s[0]) #『[ 0.41791078 0.23484042 0.34724882]』
print(s[0][0]) #『0.41791078』
print(type(s)) #『<class 'numpy.ndarray'>』
print(type(s[0])) #『<class 'numpy.ndarray'>』
print(type(s[0][0])) #『<class 'numpy.float64'>』
引用返信 編集キー/
■94281 / inTopicNo.6)  Re[2]: Pythonでのこの意味を教えてください。
□投稿者/ さき (28回)-(2020/03/29(Sun) 18:26:55)
No94277 (とっちゃん さん) に返信

紹介ありがとうございます。
偶然にも見たとこでもありました。

引用返信 編集キー/
■94282 / inTopicNo.7)  Re[4]: Pythonでのこの意味を教えてください。
□投稿者/ さき (29回)-(2020/03/29(Sun) 19:58:13)
2020/03/29(Sun) 20:07:16 編集(投稿者)

No94280 (魔界の仮面弁士 さん) に返信

> 数値計算ライブラリ NumPy で提供される多次元配列
そのようなのもあるのですね。

> とりあえず https://paiza.io/ja/ で試してみたら、こんな結果になりました。
折角教えてもいただいたのですがちんぷんかんぷん。
申し訳ないですが何も分かってはいません。

それはそれとして、取り敢えずは Pythonから出たデータをVBで受け取りたいとこはあります。
それにはPythonで書かれたcsvファイル、即ち [0.41791078 0.23484042 0.34724882] を、
VBで読み込むことにもなるのでしょうね?

後はこれをVBにて希望の書式にするなどして。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -