Pythonのお勉強 Part65

レス数が900を超えています。1000を超えると表示できなくなるよ。
2021/05/23(日) 14:51:52.02ID:NSupjEI/0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/

〇前スレ〇 Pythonのお勉強 Part64
https://mevius.5ch.net/test/read.cgi/tech/1600035173/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2021/11/02(火) 17:33:19.47ID:Zlj9Iarm0
type関数が返却するのは文字列じゃなくてtypeオブジェクトだからだね
https://docs.python.org/3/library/stdtypes.html#bltin-type-objects
2021/11/02(火) 17:37:55.87ID:Zlj9Iarm0
同じ名前の変数を定義したら比較できなくなるけど、ローカル変数なら自分でやってることに気づくはずだし問題にはならないんじゃないかな
2021/11/02(火) 17:38:51.86ID:xUGStZM60
<class 'int'>
のように、クラスは'int'として返るのでますます判らない
838デフォルトの名無しさん (オイコラミネオ MM95-ut4V)
垢版 |
2021/11/02(火) 17:47:14.44ID:TEEdp5BbM
お前らさ、ちゃんとドキュメント読めや。
type()はtype型オブジェクトを返す。
2021/11/02(火) 18:16:33.18ID:xUGStZM60
type型オブジェクトを返すことと、intと書くと変数ではなくtype型オブジェクトと認識されることは
全然別の話だよね
文字列と比較してもうまく行かないことは簡単に理解できるけど、intの取り扱いが謎

intがスコープに無い時は、type型オブジェクトとみなす、みたいな特別ルールがあるとか?
2021/11/02(火) 18:48:54.54ID:bBu0w1jV0
別にドキュメントなんか読まなくていいから
キャンプ用品店でホワイトガソリン買ってきて被って火つけて死ねや
841デフォルトの名無しさん (ワッチョイ 5336-uzZz)
垢版 |
2021/11/02(火) 19:11:36.98ID:ot52oxwe0
>>834
間違えた。
if type(v) is int :

'int' じゃなくて int ね。
842デフォルトの名無しさん (ワッチョイ 1133-BvZE)
垢版 |
2021/11/02(火) 23:54:06.40ID:B9QicRLm0
type型オブジェクトってなんだよ
type型オブジェクトを英語にしたらどうなんだよ
2021/11/02(火) 23:57:51.92ID:FovZ003x0
プログラムって深く考えてもしょうがないと思ってるので
ふーんでいつも納得してるわw
望む通りに動けばいい
844デフォルトの名無しさん (ワッチョイ 1133-BvZE)
垢版 |
2021/11/03(水) 00:03:00.55ID:COAZFdz30
組み込み関数とか組み込み型がない世界から来た人なんかな
2021/11/03(水) 00:09:23.02ID:vWOY20Jy0
>>842
type type object意外にある?
2021/11/03(水) 00:36:19.73ID:5twrIkJC0
細部を疎かにする人に任せられないわ
0とnullの違いが扱えずにバグったりしそうだし
2021/11/03(水) 01:00:55.59ID:UCh+XZ2y0
そんなこと言ってたらどんな仕事も人に任せられなくなるよ
人それぞれでこだわりが違うんだし
自分のせいでバグっても人のせいにして逃げることができる奴が生き残れる
2021/11/03(水) 01:41:08.34ID:vOgL+6rP0
nil
あれは何だったんだろう
2021/11/03(水) 02:49:07.41ID:Klx8o89d0
ぬるぽ
2021/11/03(水) 07:03:46.78ID:RqCGWlFo0
pylint が type() の代わりに isinstance() 使えって言わないか?
2021/11/03(水) 07:10:13.28ID:PgAE6/bx0
初めて知ったわ
教えてくれてありがとう
2021/11/03(水) 10:11:29.12ID:dpFVj1du0
nullをヌルって読む奴は細部をおろそかにしてるので任せられない
2021/11/03(水) 10:25:30.87ID:uE/oz2vb0
ヌルって呼ばない奴は独りよがりでコミュ力がないので排除
2021/11/03(水) 10:30:49.76ID:Klx8o89d0
warningをウォーニングと読んだら、
ウォーニング? ああ、ワーニングのことね、と訂正された
855デフォルトの名無しさん (ワッチョイ f15f-3bCf)
垢版 |
2021/11/03(水) 10:32:54.76ID:a/LASxtL0
>>852
ヌルじゃダメなん?
2021/11/03(水) 10:39:12.31ID:uE/oz2vb0
自分だけかしこいの禁止
愚民に合わせろ
2021/11/03(水) 10:46:59.81ID:Klx8o89d0
ultra, culture, gulf, lullaby, multi, sulfa, vulnerable
ulのuにアクセントがあると発音は大抵Λ
2021/11/03(水) 11:57:02.58ID:HPlSDyra0
とは言えpythonの話しててnullなんて言う奴の方が
言葉を柔軟に扱えないヤツなんだなぁと思うわ
2021/11/03(水) 12:03:38.90ID:vOgL+6rP0
ALTキーがあるといいね
860デフォルトの名無しさん (ワントンキン MMd3-ut4V)
垢版 |
2021/11/03(水) 12:11:46.26ID:JHNRh9TlM
>>858
pythonしかやってない人の方が少数だろうし、Noneのことを間違ってnullと言ってしまうこともあるだろう。
いちいち目くじら立てるやつの方が柔軟性皆無。
2021/11/03(水) 12:29:15.50ID:IMInqq8ea
pull、bull → null って流れになるよね
2021/11/03(水) 14:26:19.98ID:epFspok00
ALTはいまだにアルトと言ってしまう
ジャネにグノメ、きりがないわ
2021/11/03(水) 14:29:39.96ID:epFspok00
Windowsのバッチで >NULL と書いてカレントディレクトリにNULLファイルを作ったやつはいねぇか?
2021/11/03(水) 14:33:38.88ID:Klx8o89d0
きっとaltitudeキーの略だからアルトで正解
2021/11/03(水) 14:37:23.42ID:IMInqq8ea
with と width ってみんなどうしてるの?
2021/11/03(水) 14:43:15.51ID:Klx8o89d0
widthははっきりiだけど、withはあいまい母音になる
前置詞なんて言ってるか言ってないか判らないくらい適当
2021/11/03(水) 17:36:50.14ID:U/guFN8e0
widthは敢えてワイズと言ってるがたまにマジ突っ込みされる
英語としては間違いなんだろうけど靴幅表記のワイズ表のワイズ
868デフォルトの名無しさん (ワッチョイ fb54-Jc4x)
垢版 |
2021/11/03(水) 17:54:31.07ID:seSNXpAW0
靴屋がワイズ言うたびにモゾモゾする
2021/11/03(水) 18:14:40.04ID:Klx8o89d0
機械屋が直径のΦをパイと読むのと同じ
その業界ではそれが正解

N-BASICでWIDTH 80,25とか書いてた頃は、
ワイズと読んでた気もする
2021/11/03(水) 19:49:41.04ID:IMInqq8ea
そうですね、靴のワイズを流用しますね
あとは文脈でなんとか…
寸法つながりで、height スピーチとか、日本人にはなかなか….
2021/11/03(水) 20:52:49.87ID:Klx8o89d0
disableをディザブルと読んでた頃があった
なんでそう思ったのかは謎
enableは普通にイネーブル
872デフォルトの名無しさん (ワッチョイ 5336-uzZz)
垢版 |
2021/11/03(水) 21:04:14.85ID:iG1U6Kg20
falseは。
873デフォルトの名無しさん (アウアウウー Sa9d-O4HE)
垢版 |
2021/11/03(水) 21:13:39.21ID:IMInqq8ea
むかし、hpのオフコンだったか(違うかも)、アペンドに対応する名詞が disaster(ディザスター)だったな
綴りは星と少し違うけど、星のめぐりが悪くて起こる大災害というのが語源だったかと
874デフォルトの名無しさん (オイコラミネオ MM95-ut4V)
垢版 |
2021/11/03(水) 21:32:32.45ID:Azf0gnp8M
>>873
もしかしてアベンド(ABEND)?
2021/11/03(水) 22:19:38.73ID:IMInqq8ea
sorry, you are right.
i ment ABEND. not APPEND.
2021/11/03(水) 22:26:01.16ID:vOgL+6rP0
>>873

やはり、これだろう

https://blog-imgs-45-origin.fc2.com/m/y/w/mywindow/deathstar.jpg
2021/11/04(木) 03:32:19.36ID:L95fbpxJ0
>>875
もしかしてmeant?
2021/11/04(木) 08:39:02.78ID:AlAyX4R7a
>>877
そうそう、ごめん
カッコ悪いねw
2021/11/04(木) 08:40:16.54ID:fsdfBLaX0
>>839
組み込み型
自分でクラスを定義した時と同じ
880デフォルトの名無しさん (エムゾネ FF33-48dE)
垢版 |
2021/11/04(木) 11:23:03.07ID:JyTL4wpjF
>>788
>多分、人間が学習できないものは機械学習でも上手くいかないんじゃないかなあ。

まじか?
2021/11/04(木) 11:57:45.62ID:ezgc8LjA0
単なる統計モデルだからね
完全ランダムで決まるなら、最終円がどの区域に発生するかの確率も一定と推定されるだけかと
2021/11/04(木) 15:41:25.85ID:gEbvR9wxM
>>788
> 多分、人間が学習できないものは機械学習でも上手くいかないんじゃないかなあ。
普通の人間より強いAI将棋ソフトとかあるだろ
2021/11/04(木) 16:15:15.51ID:m8YNJrIQ0
>>882
それ、人間ができることの延長線上だろ
2021/11/04(木) 16:24:14.86ID:fQPcIZPU0
AIでガンを発見するとかいうのがあるよ。
885デフォルトの名無しさん (ワッチョイ 1355-JVmF)
垢版 |
2021/11/04(木) 16:29:32.19ID:0n2ybDTK0
>>884

見た目から?
それとも血液のデータとか尿のデータとかから?
2021/11/04(木) 16:31:26.68ID:eo9m+3ij0
教師あり学習でも教師が判らないことを判断できるようになるけど、
恐ろしいのは教師なし学習
データを与えるだけで勝手に法則性やらいろいろ理解する
人間が言語を習得するのと同じ
2021/11/04(木) 16:39:46.36ID:fQPcIZPU0
>>884
ちょっとぐらいググれw
https://www.riken.jp/press/2019/20191218_2/index.html
2021/11/04(木) 16:40:10.72ID:fQPcIZPU0
アンカ間違えた>>885
2021/11/04(木) 18:54:56.08ID:oHnwfMXhM
>>788
> 多分、人間が学習できないものは機械学習でも上手くいかないんじゃないかなあ。

出来る
評価関数を考えられれば
人間には複雑過ぎたり非直感的な関数でも
その評価点を教師付き学習で使えばいい
2021/11/04(木) 19:08:46.54ID:BlJtBJvN0
>>889
overfitの問題があるので、そう簡単ではないよ。
原理的にはその通りだけど、データセットを無尽蔵に用意できる用途に限られる。
891デフォルトの名無しさん (ワッチョイ 8b10-E+9D)
垢版 |
2021/11/04(木) 19:28:29.86ID:KxhR9jdO0
>>889
人間に出来ないことの評価関数を人間が考えられるのか
2021/11/04(木) 19:37:49.40ID:eo9m+3ij0
評価関数は与えない
データと結果だけ教えればあとは勝手に特徴抽出する
2021/11/04(木) 19:54:06.86ID:1oNQtxfO0
>>892
ソレめっちゃやりたい
どのモジュールで実現できるかな?
2021/11/04(木) 22:17:54.26ID:fsdfBLaX0
>>892
結果は評価関数によって決まる
2021/11/05(金) 07:59:15.59ID:Np2Q++y9M
>>886
SOM最凶だな
896デフォルトの名無しさん (ワッチョイ 5e10-F6GX)
垢版 |
2021/11/05(金) 08:56:27.22ID:jj0vDHHe0
>>892
その結果を判断できる人間が居ないんですが
2021/11/05(金) 09:25:22.05ID:Zu6paNwN0
pandasでインデックスが重複しているデータフレームがある
value = df.at[index_name, 'aaa']
とすると、スカラーが帰ってきたりシリーズが返ってきたりする

そのこと自体はいいとして、どちらが返ってもいいようにループを書くにはどうすれば
2021/11/05(金) 09:47:41.24ID:Rm9U0qMG0
返ってきた内容で分岐処理したらいいんじゃないの?
899デフォルトの名無しさん (ワッチョイ b236-awrp)
垢版 |
2021/11/05(金) 10:02:53.50ID:ZmTTUUh30
pandasなんてあるんだね、初めて知った。
チラッとみたけど、dictとlistの組み合わせでも出来そうな気が、きっと処理が早いんだよね。

仕事で使ってるの?趣味?
2021/11/05(金) 10:23:05.86ID:Zu6paNwN0
やっぱり分岐するしか無いよな
書き方を工夫してfor一発でいけないかと思ったけど
2021/11/05(金) 10:36:10.80ID:Rm9U0qMG0
とりあえずvalues.tolist()つけて処理したら?
2021/11/05(金) 10:52:07.75ID:Zu6paNwN0
tolist()でリストにして、スカラーの時は要素1個のリストにして、
でなんとかなったけど、インデックスの重複が他の箇所でも問題に

やっぱり重複は解消する方向で
重複行は1行に集約させて、違いのある列は判ってるので、そこだけリストにしたい
そんな都合のいい機能があるかなと思ったらgroupby()でいけそうなので調べ中
903デフォルトの名無しさん (ワッチョイ 8101-XAe6)
垢版 |
2021/11/05(金) 11:09:17.94ID:WVIgdnkY0
複数開いたブラウザに対して操作するプログラムを作っていて、
グローバル変数が大量になってしまったので、それがベストなのかアドバイスを頂きたくお願いします。

処理の流れは、一番最初に4つのウィンドウハンドルを取得して変数に格納(hnd1~4)、それぞれにURLなどを設定(これも4個)。
それらの変数使ってブラウザ操作しているのですが、変数が多くそれらが全てグローバル変数になっています。
グローバル変数にしている理由は、ブラウザ操作の関数で書き換えが出来ないのでグローバルにしています。

ボタン位置や読み込む文字が複数になればなるほど、倍々ゲームでグローバル変数が増えてしまうのですが、
問題はないでしょうか。
色々なサイトを見る限りは、グローバル変数は最低限にするというのですが、
どうしても関数に渡すにはそうなってしまうため教えていただければと思います
2021/11/05(金) 11:29:57.49ID:WAcm7u050
>>903
問題ありまくりだけど個人のプログラムなら好きにすればいいと思う

ウィンドウを4つから5つとか6つとかに増やす場合があると仮定して
その際に設定ファイルの変更のみでプログラムの変更は必要ないように作るのが一般的
905デフォルトの名無しさん (ワッチョイ b236-awrp)
垢版 |
2021/11/05(金) 12:45:16.05ID:ZmTTUUh30
>>903
クラスがいいんじゃねえの。

class Browser ():
    def __ init __ ( self ) :
      hnd = None
      url = ""
      buttonPosi = None      

    def setUrl(self,url):
      self.url = url

    def setHnd(self,hnd):
      self.hndl = hnd

if __name__ == '__main__':
    brow1 = Browser()
    brow2 = Browser()
    brow3 = Browser()
    brow4 = Browser()

    brow1 .setUrl("http://........";)
    brow2 .setUrl("http://........";)
    brow3 .setUrl("http://........";)
    brow4 .setUrl("http://........";)

超いいかんげんで書いたけど、こんな感じは?
2021/11/05(金) 15:43:42.43ID:Zu6paNwN0
結局、
df.gropby(['index_col']).agg({'col1':list, 'col2':'last', 'col3':'last'...
という感じで求めるものは得られたんだけど、
col2以降を全部列挙しないといけないのがいかにも見苦しい

リストにしたいcol1だけ明示して、残りは全部'last' みたいに書けない?
2021/11/05(金) 15:56:57.72ID:Rm9U0qMG0
>>906
さんぷるコードうp
908デフォルトの名無しさん (ワッチョイ 8101-XAe6)
垢版 |
2021/11/05(金) 19:15:28.69ID:WVIgdnkY0
>>904,905
クラス使ったことないのですがサンプルありがとうございます。
このクラスで作られたbrow1は、他の関数からも参照ができるのでしょうか?
909デフォルトの名無しさん (ワッチョイ b236-awrp)
垢版 |
2021/11/05(金) 19:33:10.03ID:ZmTTUUh30
>>908
brow1を渡せばね。

使った事がないなら、まずはクラスを勉強した方がいいかもね。

外部変数でやるなら

brow1 = []
brow2 = []
brow3 = []
brow4 = []

ってリストを用して、

brow1.append(url)
brow2.append(hndl)
brow3.append(buttonNo)

dictでもいいけど、こっちのが見やすいかな?

brow1['url'] = url
brow1['hndl'] = hndl
brow1['buttonNo'] = buttonNo

まあ、良いかきかたとは言えないけど取り敢えずこれで作ってクラスを勉強するかだね。
2021/11/05(金) 20:06:36.49ID:s+xNbh4M0
ボリュームあるから進めつつでもいいけど
初学者で公式チュートリアルやらないのは結局遠回りするとおもう。
911デフォルトの名無しさん (ワッチョイ d2ad-7Rex)
垢版 |
2021/11/05(金) 20:53:50.70ID:9nGEQz1j0
>>906
別に美しくはないがカラム数固定的ではない
import itertools
r = dict(zip(['B', 'C', 'D', 'E'],itertools.cycle([1])))
print({'A': 0, **r})

{'A': 0, 'B': 1, 'C': 1, 'D': 1, 'E': 1}
2021/11/05(金) 20:59:02.07ID:Zu6paNwN0
df.groupby(['index_col']).agg(list)
って書くと、全部のカラムが対象になるので、何かありそうな気がするんだけど
2021/11/05(金) 21:04:09.45ID:eZOYib7p0
os.sync()に相当するものをwindowsで実装したいのですが代替のAPIなどあるでしょうか?
調べた感じimportlib.invalidate_cachesが近しいのかなと思ったのですが確証がなく。。。
914デフォルトの名無しさん (ワッチョイ d2ad-7Rex)
垢版 |
2021/11/05(金) 21:11:43.08ID:9nGEQz1j0
>>913
それは全然違う。

これをpythonから実行して
https://docs.microsoft.com/en-us/sysinternals/downloads/sync
2021/11/06(土) 00:24:53.43ID:d8pEOxlp0
>>914
ありがとうございます。
2021/11/06(土) 11:20:50.02ID:b1XdA94qa
.pyd ファイルを C から呼ぶにはどうするのが良いですか?
2021/11/07(日) 07:28:50.84ID:+p+jfAUD0
>>916
どうだろねぇ
出来なくもないのかもしれないけど直に呼び出すのは苦労が多そう
C内でPythonをシェル起動がシンプルだが使い物になるかはしらん
2021/11/07(日) 08:24:06.58ID:IfBJzlxd0
部分的に低級言語で高速化するのは自然だけど、
なぜ部分的に低速化する
2021/11/07(日) 08:37:29.57ID:zFG7xLKK0
使いたいライブラリがPythonで書かれてるとか
まあいずれにせよこんな質問してる時点でやめとけという結論しか出ないけど
2021/11/07(日) 10:59:29.18ID:L1cSyFxb0
openしてreadしてcloseすりゃ良いんじゃん?
921デフォルトの名無しさん (アウウィフ FFcd-bQ3l)
垢版 |
2021/11/07(日) 13:04:15.99ID:XJB+ymj6F
出来ました
ほんとうにありがとうございました
2021/11/07(日) 23:09:55.78ID:zjXC+7YU0
聞いたのなら、どうやって解決したか書くといいよ
2021/11/08(月) 08:10:55.29ID:7h7MJ4sx0
>>916
libpython
2021/11/08(月) 19:21:59.25ID:yeuw0t2w0
関数の定義を呼び出しより後に書けない問題は、main()を定義することで解決できる
925デフォルトの名無しさん (ワッチョイ 856e-vonH)
垢版 |
2021/11/08(月) 19:59:33.23ID:fs6N9WFT0
NLPLOTで共起ネットワークを描画したいと思い勉強中です。
サンプルコード通りに試してみているのですが、下記の★の行で
ValueError: n_communities must be between 1 and 0. Got
が出てしまいます。

npt = nlplot.NLPlot(df, target_col='Column2')
stopwords = npt.get_stopword(top_n=0, min_freq=0)
★npt.build_graph(stopwords=stopwords, min_edge_frequency=100)
display(
npt.node_df.head(), npt.node_df.shape,
npt.edge_df.head(), npt.edge_df.shape
)
npt.co_network(
title='Co-occurrence network',
)
原因を調べようとしているのですが、うまくいかず困っています。
書き方が間違えているのでしょうか?
2021/11/08(月) 20:00:25.18ID:fs6N9WFT0
すみません、sage忘れました
2021/11/08(月) 23:16:16.58ID:F/UmZqpfH
exeして実行するとサイドバイサイド構成がっていうエラーが出るんですが、ランタイムのインストール以外の回避方法ありますか?
2021/11/09(火) 13:31:05.79ID:LitRxmJN0
UnboundLocalErrorが出た時
グローバル変数を参照したいのに関数内に代入があるせいでローカル変数扱いに
なってしまう場合は、global と書いてやることで回避できる

そうではなくて、変数が呼び出し元の関数のスコープにある時に、
とにかくローカル変数ではないことを伝える書き方ってある?
929デフォルトの名無しさん (オッペケ Sr79-F6GX)
垢版 |
2021/11/09(火) 13:54:17.13ID:xG+5Fvfxr
nonlocal
2021/11/09(火) 14:00:52.00ID:LitRxmJN0
そのまんまのがあったんだな
でも、呼び出し元の関数のローカル変数を参照することなんかできなかった
ローカル変数だから

じゃあいろんな関数から共通で使うようなデータはグローバルで持つしか仕方ないのかな
2021/11/09(火) 14:12:56.14ID:ZWbVd3f2M
>>930
クラス変数

Pythonはこの辺のデザインセンスが良い
何でもブチ込まずに言語を小さくまとめてる
932デフォルトの名無しさん (ワッチョイ b12c-cRVk)
垢版 |
2021/11/09(火) 14:15:42.21ID:gY1b2lRY0
殆どの場合においてglobalやnonlocalはモンキーパッチだと思うんよね
明示的に渡すか大域変数にするか(っていうかクラス化しよう)
2021/11/09(火) 14:24:14.81ID:LitRxmJN0
forとかwhileの中は別スコープだと思いこんでたけど、そんなことはなかった
2021/11/09(火) 14:44:38.98ID:jSBInGWeM
パ、パ、パイソンのクラス変数まわりのデザインセンスがいいだと!?!?

おれの知ってるPythonとは全く別物のようだな
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況