!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://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その58
https://mevius.5ch.net/test/read.cgi/tech/1662514433/
〇前スレ〇
Pythonのお勉強 Part68
https://mevius.5ch.net/test/read.cgi/tech/1663235546/
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ?
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part69
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ c733-stRS)
2022/11/24(木) 21:39:44.67ID:A6xfpKBe034デフォルトの名無しさん (ワッチョイ ff63-RPwI)
2022/11/29(火) 12:24:13.36ID:OkL5Yz/20 >>33
落としたことにされた人には、図書館も開発元の三菱情報システムも、謝罪しているけどね
落としたことにされた人には、図書館も開発元の三菱情報システムも、謝罪しているけどね
3533 (ワッチョイ d74f-emCW)
2022/11/29(火) 12:26:22.23ID:Rlb9t/Eq0 山浦 清透
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
これは、PHP だけど、
Udemy の山浦ぐらいの相当プロでも、1:5:42 の所で、
マイナビ求人をスクレイピング攻撃しているだろw
プロでも間違うから、なおさら素人なら、無限ループで攻撃し放題。
業務妨害で逮捕されるだけ
データベースに保存するなら、普通はPHPじゃなくて、Ruby on Rails を使う
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
これは、PHP だけど、
Udemy の山浦ぐらいの相当プロでも、1:5:42 の所で、
マイナビ求人をスクレイピング攻撃しているだろw
プロでも間違うから、なおさら素人なら、無限ループで攻撃し放題。
業務妨害で逮捕されるだけ
データベースに保存するなら、普通はPHPじゃなくて、Ruby on Rails を使う
36デフォルトの名無しさん (ワッチョイ ff63-RPwI)
2022/11/29(火) 12:29:52.96ID:OkL5Yz/2037デフォルトの名無しさん (オッペケ Srcb-c1Xh)
2022/11/29(火) 12:31:54.18ID:HCCm6VNmr サーバーを落とした香具師!
38デフォルトの名無しさん (ワッチョイ ffcf-ykd8)
2022/11/29(火) 12:35:46.90ID:5xrJvc530 このような場合はJPCERT/CCに相談して欲しかった
39デフォルトの名無しさん (ワッチョイ ff63-RPwI)
2022/11/29(火) 12:58:16.32ID:OkL5Yz/20 この障害は岡崎だけでなく、全国の図書館でも発生していたそうだ
朝一でサーバー再起動が業務となっていたところもあるそうだ
悪質なのは、この障害、原因を開発元が承知していたことと、
システム更新(もちろん有料)の口実にされていたこと
ハードの買換をさせられた図書館もある
詐欺事件とされてもおかしくはない
朝一でサーバー再起動が業務となっていたところもあるそうだ
悪質なのは、この障害、原因を開発元が承知していたことと、
システム更新(もちろん有料)の口実にされていたこと
ハードの買換をさせられた図書館もある
詐欺事件とされてもおかしくはない
40デフォルトの名無しさん (テテンテンテン MM8f-Ww1B)
2022/11/29(火) 13:04:50.65ID:azSIQh15M まぁ我々は困らないし
当事者が気を付ければ済む話
過去の事件ループはもう良いから
それで終わりにしろ
当事者が気を付ければ済む話
過去の事件ループはもう良いから
それで終わりにしろ
41デフォルトの名無しさん (ワッチョイ ffbb-rfgC)
2022/11/29(火) 13:14:40.68ID:eTNa7b4f0 twitterなんて「規約読め」「API利用しろ」で終了だろ
図書館事件は特殊条件踏みすぎててミスリードすぎる
図書館事件は特殊条件踏みすぎててミスリードすぎる
42デフォルトの名無しさん (ワッチョイ d733-Z2Iz)
2022/11/29(火) 13:16:57.04ID:fQLmT73p0 >>32
逆に、人がAPIで提供されるjsonのデータ読めって言われてもきついでしょ
それと同じで人が読みやすいように作られてるWebのUIをソフトウェアにやらせるのは筋違いなんだよ
seleniumにしたって元々はJavaScriptのテストを走らせるために作られていて、誰かが作った仕様のはっきりしないWebサービスのUIを解析するためには作られてないと思うよ
今もそうだかは使ったことないからはっきりとはいえないけど
逆に、人がAPIで提供されるjsonのデータ読めって言われてもきついでしょ
それと同じで人が読みやすいように作られてるWebのUIをソフトウェアにやらせるのは筋違いなんだよ
seleniumにしたって元々はJavaScriptのテストを走らせるために作られていて、誰かが作った仕様のはっきりしないWebサービスのUIを解析するためには作られてないと思うよ
今もそうだかは使ったことないからはっきりとはいえないけど
4333 (ワッチョイ d74f-emCW)
2022/11/29(火) 13:34:20.35ID:Rlb9t/Eq0 元々、Selenium Webdriver, Capybara などは、
Ruby on Rails の開発で、システムテストで実際のブラウザを自動操作して、
画面の動作を確認するためのツール
Ruby on Rails の開発で、システムテストで実際のブラウザを自動操作して、
画面の動作を確認するためのツール
44デフォルトの名無しさん (スップ Sd3f-8UFK)
2022/11/29(火) 14:04:13.09ID:AC1KYodjd Ruby馬鹿がいつもの噓
45デフォルトの名無しさん (ブーイモ MM8f-oElN)
2022/11/29(火) 14:04:43.85ID:sKS8alA2M API使いたくないからスクレイピングするんだろ
何言ってんだか
何言ってんだか
46デフォルトの名無しさん (ワッチョイ 5701-ZS+X)
2022/11/29(火) 14:28:15.03ID:6F6KBCUn0 >>44
今回はちょっと違う
今回はちょっと違う
47デフォルトの名無しさん (ワッチョイ 9f2a-+r4L)
2022/11/29(火) 15:17:30.94ID:NO7HG1hV0 >>32
おっしゃる範囲では模倣してることになるよ
しかしPythonのライブラリでブラウザの全部の機能を模倣するのは難しいので、Javascriptをゴリゴリ使うようなサイトではブラウザを模倣するんじゃなくてブラウザにレンダリングを外注するのよ
おっしゃる範囲では模倣してることになるよ
しかしPythonのライブラリでブラウザの全部の機能を模倣するのは難しいので、Javascriptをゴリゴリ使うようなサイトではブラウザを模倣するんじゃなくてブラウザにレンダリングを外注するのよ
48デフォルトの名無しさん (ワッチョイ 9f47-NCR5)
2022/11/29(火) 18:02:03.33ID:lUjN289S0 集合って使う?
49デフォルトの名無しさん (ガックシ 068f-ar+C)
2022/11/29(火) 18:10:29.16ID:q/VfFbZ+6 はい
50デフォルトの名無しさん (ワッチョイ ffbb-NZIw)
2022/11/29(火) 18:10:39.03ID:JTTSm0Nf0 辞書でキーが値でもある場合とか、リストからユニークなもののみ抽出したいときとか、たまに使う
51デフォルトの名無しさん (ワッチョイ 9f79-SL85)
2022/11/29(火) 19:26:38.65ID:3YOnpcyo0 >>32
サイト開いて、ってなに?
サイト開いて、ってなに?
52デフォルトの名無しさん (アウアウウー Sa5b-LL8a)
2022/11/29(火) 19:30:41.60ID:GC2yOS5aa >>48
集合ってセット型のこと言ってるよね?
どんな職種かにもよるけれど
俺の働いてる環境だとfor文と同じ頻度で使う感じかな
集合ってすごく便利でさ
重複削除するのも排他的な処理にも使えるのでめちゃめちゃコスパいいんだよ
集合ってセット型のこと言ってるよね?
どんな職種かにもよるけれど
俺の働いてる環境だとfor文と同じ頻度で使う感じかな
集合ってすごく便利でさ
重複削除するのも排他的な処理にも使えるのでめちゃめちゃコスパいいんだよ
53デフォルトの名無しさん (アウアウウー Sa5b-LL8a)
2022/11/29(火) 19:34:01.33ID:GC2yOS5aa54デフォルトの名無しさん (アウアウウー Sa5b-LL8a)
2022/11/29(火) 19:36:34.48ID:GC2yOS5aa55デフォルトの名無しさん (ワッチョイ 9f47-NCR5)
2022/11/29(火) 19:46:06.06ID:lUjN289S0 重複を削除したい、というタイミングで集合に入れて戻す
とかならそういう関数だとみなせるので必要が生じたら使う、でいい
ではなくて、最初からずっと集合で持ち続けるような用途があるかどうか
とかならそういう関数だとみなせるので必要が生じたら使う、でいい
ではなくて、最初からずっと集合で持ち続けるような用途があるかどうか
56デフォルトの名無しさん (ブーイモ MMfb-QUc+)
2022/11/29(火) 20:21:39.71ID:SFyPOz/XM >>55
普通にある。
アンケートの選択肢の一覧がわかっていないときに選択肢集合を取り出すのに使ったり、
スケジュールを調整するときに、日程集合aと日程集合bの積集合が空かどうかでスケジュールが被っていないかを確認したりなど、
入れるときから集合にしておいた方がいいケースはいくらでもあるよ。
普通にある。
アンケートの選択肢の一覧がわかっていないときに選択肢集合を取り出すのに使ったり、
スケジュールを調整するときに、日程集合aと日程集合bの積集合が空かどうかでスケジュールが被っていないかを確認したりなど、
入れるときから集合にしておいた方がいいケースはいくらでもあるよ。
57デフォルトの名無しさん (ワッチョイ 9f47-NCR5)
2022/11/29(火) 20:38:01.11ID:lUjN289S0 重複してたら集合に追加する時にはじかれる訳だけど、
それに関してはケアしなくていいの?
無視されてしまったスケジュールの人が発生しそうだけど
勝手に重複が削除される仕組みはどう考えても危険で、
うまく使える局面が思いつかない
それに関してはケアしなくていいの?
無視されてしまったスケジュールの人が発生しそうだけど
勝手に重複が削除される仕組みはどう考えても危険で、
うまく使える局面が思いつかない
58デフォルトの名無しさん (ワッチョイ ff10-Gfcg)
2022/11/29(火) 20:53:34.02ID:VRBW4+C+0 初心者スレ行ったほうがいいんじゃないか?
s1 = {"2022-12-01", "2022-12-02"} // Aさんの希望日
s2 = {"2022-12-02", "2022-12-03"} // Bさんの希望日
print(s1 & s2) // -> {"2022-12-02"}
s1 = {"2022-12-01", "2022-12-02"} // Aさんの希望日
s2 = {"2022-12-02", "2022-12-03"} // Bさんの希望日
print(s1 & s2) // -> {"2022-12-02"}
59デフォルトの名無しさん (ワッチョイ 9f47-NCR5)
2022/11/29(火) 21:10:31.21ID:dP4707zz0 s1 = ["2022-12-01", "2022-12-02"]
s2 = ["2022-12-02", "2022-12-03"]
print(set(s1) & set(s2))
これでも同じなんだよな
&演算が強力だから使いたいだけで、集合で保持しておくメリットが無い
s2 = ["2022-12-02", "2022-12-03"]
print(set(s1) & set(s2))
これでも同じなんだよな
&演算が強力だから使いたいだけで、集合で保持しておくメリットが無い
60デフォルトの名無しさん (ワッチョイ 9f2a-+r4L)
2022/11/29(火) 21:11:54.06ID:NO7HG1hV0 リスト→セットがゼロコスト変換なわけなかろう
61デフォルトの名無しさん (ワッチョイ ff10-h9Ju)
2022/11/29(火) 21:14:02.60ID:eLjR8f750 s1 = ["2022-12-01", "2022-12-02"]
s2 = ["2022-12-02", "2022-12-03"]
for x in s1:
for y in s2:
if x == y:
print(x)
オラァ!
s2 = ["2022-12-02", "2022-12-03"]
for x in s1:
for y in s2:
if x == y:
print(x)
オラァ!
62デフォルトの名無しさん (ワッチョイ 7702-Znd8)
2022/11/29(火) 21:18:24.33ID:+HrRhDam0 内部でソートされてないと有り難みも半減
63デフォルトの名無しさん (ワッチョイ f789-Gg/V)
2022/11/29(火) 22:34:54.85ID:UIouEa7w0 Listが標準、Setがライブラリ拡張で不利だとしても
ドキュメンテーション重視でSetつかうことあるし
視野がせまいとしか
ドキュメンテーション重視でSetつかうことあるし
視野がせまいとしか
64デフォルトの名無しさん (ワッチョイ 9f01-YdBL)
2022/11/29(火) 23:09:52.10ID:4MUOq3YH0 >>59
それどう見てもリストで保持するメリットの方がないだろ...
それどう見てもリストで保持するメリットの方がないだろ...
65デフォルトの名無しさん (ワッチョイ ffbb-NZIw)
2022/11/29(火) 23:36:33.92ID:JTTSm0Nf0 すぐにあれこれ思いつかないけど、予め予約語や予約番号を突っ込んでおいてユーザがそれらを入力したら弾くとか、処理済みのファイル名を覚えておくとか
66デフォルトの名無しさん (ワッチョイ 1709-Z2Iz)
2022/11/30(水) 06:40:38.93ID:Wig3zpdW0 ブラウザの履歴だな
67デフォルトの名無しさん (アウアウウー Sa5b-YdBL)
2022/11/30(水) 06:44:23.82ID:VpVi1ao4a 履歴はURLだけでなくアクセスした日時も覚えておく必要あるからSetだけだと難しい
68デフォルトの名無しさん (ワッチョイ 1797-QUc+)
2022/11/30(水) 13:21:08.67ID:5wV2hx4y0 >>57
それをケアしたいならin演算子を使えばいいだけであって、setの根本的問題ではない。
そして、in演算子はlistとsetならどう考えてもsetのほうが速い。
もちろん、重複を許さないリストのバリデーションなんかにも使えるよね。
それをケアしたいならin演算子を使えばいいだけであって、setの根本的問題ではない。
そして、in演算子はlistとsetならどう考えてもsetのほうが速い。
もちろん、重複を許さないリストのバリデーションなんかにも使えるよね。
69デフォルトの名無しさん (ワッチョイ 1797-QUc+)
2022/11/30(水) 13:29:48.45ID:5wV2hx4y0 リストで持っておけばいいじゃん、必要なときにsetに変換して処理するから、という人は、計算量なんかを考えてみるといいよ
計算量無視するなら62のコードでいいじゃんってことになっちゃうしね。
まあ、Python遅いから計算量を減らすようなコードを書くことに説得力がないというのはそうなんだけど、
結局普段からそういう練習していないと高速化したくてC++に一部実装を変更したときに速いコード書けないから。
もちろん、リストで作っておいてsetに変換する方がいいケースもあるよ。
PandasのDataFrame,Seriesのインデックスのところで演算するのなんかも、集合的な演算で行なっているのだし、慣れておいて損はないと思うが。(実態はboolのSeriesだけど)
計算量無視するなら62のコードでいいじゃんってことになっちゃうしね。
まあ、Python遅いから計算量を減らすようなコードを書くことに説得力がないというのはそうなんだけど、
結局普段からそういう練習していないと高速化したくてC++に一部実装を変更したときに速いコード書けないから。
もちろん、リストで作っておいてsetに変換する方がいいケースもあるよ。
PandasのDataFrame,Seriesのインデックスのところで演算するのなんかも、集合的な演算で行なっているのだし、慣れておいて損はないと思うが。(実態はboolのSeriesだけど)
70デフォルトの名無しさん (アウアウウー Sa5b-LL8a)
2022/11/30(水) 19:56:40.31ID:x00c17Gpa セットを学ぶ時間と意義はあるってことな
セットは慣れたら便利
速度もメモリにも優しくて安心
セット知らないってなんかダサいw
よってこれはPythonistaの総意です
セットは慣れたら便利
速度もメモリにも優しくて安心
セット知らないってなんかダサいw
よってこれはPythonistaの総意です
71デフォルトの名無しさん (ワッチョイ 5701-ykd8)
2022/11/30(水) 22:33:59.64ID:QeHG+uMw0 辞書が上位互換では?
72デフォルトの名無しさん (ワッチョイ 9f2a-+r4L)
2022/11/30(水) 22:47:34.56ID:rU+WJpIK0 値がいらないときは辞書を使う意味がない
73デフォルトの名無しさん (ワッチョイ 9f47-NCR5)
2022/11/30(水) 23:08:38.63ID:v5dUZ8sT0 perlで、値として何でも1を入れて有無だけ判定するような使い方してた
配列でできれば良かったんだけど
配列でできれば良かったんだけど
74デフォルトの名無しさん (ワッチョイ 9f47-NCR5)
2022/11/30(水) 23:12:12.55ID:v5dUZ8sT0 と書いてから気付いた
これsetの有効な用途だな
一度処理した対象は二度と処理しないように処理済みの一覧を作りたい
それを管理する為にsetはうってつけ
これsetの有効な用途だな
一度処理した対象は二度と処理しないように処理済みの一覧を作りたい
それを管理する為にsetはうってつけ
75デフォルトの名無しさん (ワッチョイ 5701-ykd8)
2022/11/30(水) 23:36:43.30ID:QeHG+uMw0 だからそれは辞書でもできるでしょ?
76デフォルトの名無しさん (ワッチョイ 9f47-NCR5)
2022/11/30(水) 23:59:38.73ID:v5dUZ8sT0 辞書でも可能だけどいかにも頭悪いので辞書でやるべきではない
77デフォルトの名無しさん (ワッチョイ 775f-4gln)
2022/12/01(木) 00:09:20.39ID:NDzBgIvm0 集合演算できるのか、いいなあ
78デフォルトの名無しさん (ワッチョイ 9714-ar+C)
2022/12/01(木) 00:40:40.07ID:j5V8nih+0 過剰なものを使いたくない気持ちを持っていたほうがいい
79デフォルトの名無しさん (ワッチョイ f781-Gg/V)
2022/12/01(木) 00:59:18.11ID:YFm4Yapz0 合理的でないとコードの意図が伝わりにくくなるやん
門外不出の書き捨てならどうでもいいけど
門外不出の書き捨てならどうでもいいけど
80デフォルトの名無しさん (テテンテンテン MM8f-Ww1B)
2022/12/01(木) 08:03:00.66ID:c3eQdr+KM なに使おうがココ見てる奴は誰も困らんので
各々好きなように活用すればいい
各々好きなように活用すればいい
81デフォルトの名無しさん (ワッチョイ 775f-4gln)
2022/12/01(木) 17:07:42.57ID:NDzBgIvm0 モチベーションのためにpythonで
awsのサーバーレスいじってる
別に何かを作るつもりはないけど
あー、こうやってユーザーの入力を受け取るのね、
とかデータベースへの書き込みをいじってる
awsのサーバーレスいじってる
別に何かを作るつもりはないけど
あー、こうやってユーザーの入力を受け取るのね、
とかデータベースへの書き込みをいじってる
82デフォルトの名無しさん (ワッチョイ 9f02-CHuw)
2022/12/01(木) 22:19:38.72ID:QPJQThlG0 >>72
順番を保存したい時は辞書を使う
順番を保存したい時は辞書を使う
83デフォルトの名無しさん (ワッチョイ ff10-ykd8)
2022/12/01(木) 23:40:07.68ID:sismMzCH0 OrderedDict使おう
2022/12/03(土) 15:38:28.64
pandasで思ったのですが
import pandas as pd
df=pd.DataFrame({"A":range(0,10,1),"B":range(10,20,1),"C":range(20,30,1)})
df["A+B"]=df["A"]+df["B"]
df["A+C"]=df["A"]+df["C"]
print(df)
これってA+BとA+Cで計算量はO(2n)になっちゃいます?よね
だったら
df["A+B"]=0
df["A+C"]=0
for i in range(len(df)):
df["A+B"].iloc[i]=df["A"].iloc[i]+df["B"].iloc[i]
df["A+C"].iloc[i]=df["A"].iloc[i]+df["C"].iloc[i]
こうすればO(n)だと思うのです?がこういう風に書かないのは視認性を優先しているからでしょうか?
import pandas as pd
df=pd.DataFrame({"A":range(0,10,1),"B":range(10,20,1),"C":range(20,30,1)})
df["A+B"]=df["A"]+df["B"]
df["A+C"]=df["A"]+df["C"]
print(df)
これってA+BとA+Cで計算量はO(2n)になっちゃいます?よね
だったら
df["A+B"]=0
df["A+C"]=0
for i in range(len(df)):
df["A+B"].iloc[i]=df["A"].iloc[i]+df["B"].iloc[i]
df["A+C"].iloc[i]=df["A"].iloc[i]+df["C"].iloc[i]
こうすればO(n)だと思うのです?がこういう風に書かないのは視認性を優先しているからでしょうか?
85デフォルトの名無しさん (ワッチョイ aa01-QZbE)
2022/12/03(土) 16:01:43.70ID:HS9T9UMm0 そもそも O(2n) なんて書かないぞ
86デフォルトの名無しさん (ワッチョイ 4697-KDKu)
2022/12/03(土) 16:38:55.55ID:YuLtkiXA0 >>84
どっちもO(n)だし実際に実行してみると後者の方が遅いと思うよ
どっちもO(n)だし実際に実行してみると後者の方が遅いと思うよ
87デフォルトの名無しさん (ワッチョイ ea47-VscZ)
2022/12/03(土) 17:03:14.55ID:hui5F7Ye0 実測してみればいいのに
2022/12/03(土) 17:15:26.84ID:xZYRIIQ3
>>86
なるほどそうなんですね
前者だと、len(df)の回数だけループしてdf[""]に結果が代入される、をdf[""]=の行だけ繰り返すようなイメージで
例えばlen(df)が10万あったとしたら、10万ループ後にまた10万ループ…、みたいなことかと思ってました
実測してみました(合っているかどうかわかりませんが
かなり遅くなりましたね
import pandas as pd
import time
df=pd.DataFrame({"A":range(0,10000,1),"B":range(10000,20000,1),"C":range(20000,30000,1)})
start=time.time()
df["A+B"]=df["A"]+df["B"]
df["A+C"]=df["A"]+df["C"]
end=time.time()
print(end-start)
start=time.time()
df["A+B"]=0
df["A+C"]=0
for i in range(len(df)):
df["A+B"].iloc[i]=df["A"].iloc[i]+df["B"].iloc[i]
df["A+C"].iloc[i]=df["A"].iloc[i]+df["C"].iloc[i]
end=time.time()
print(end-start)
#0.0027747154235839844
#5.960754871368408
なるほどそうなんですね
前者だと、len(df)の回数だけループしてdf[""]に結果が代入される、をdf[""]=の行だけ繰り返すようなイメージで
例えばlen(df)が10万あったとしたら、10万ループ後にまた10万ループ…、みたいなことかと思ってました
実測してみました(合っているかどうかわかりませんが
かなり遅くなりましたね
import pandas as pd
import time
df=pd.DataFrame({"A":range(0,10000,1),"B":range(10000,20000,1),"C":range(20000,30000,1)})
start=time.time()
df["A+B"]=df["A"]+df["B"]
df["A+C"]=df["A"]+df["C"]
end=time.time()
print(end-start)
start=time.time()
df["A+B"]=0
df["A+C"]=0
for i in range(len(df)):
df["A+B"].iloc[i]=df["A"].iloc[i]+df["B"].iloc[i]
df["A+C"].iloc[i]=df["A"].iloc[i]+df["C"].iloc[i]
end=time.time()
print(end-start)
#0.0027747154235839844
#5.960754871368408
89デフォルトの名無しさん (ワッチョイ 4697-KDKu)
2022/12/03(土) 17:44:15.36ID:YuLtkiXA0 >>88
C/C++言語で似たような処理をうまく実装すれば、基本的にはどっちの書き方でもそんなに違わないのだけどね。
結局は行数×2の足し算をしなければいけないのは、どうループを回そうが同じ
(厳密にはCPUのキャッシュに載る書き方をするかどうかとかで性能は違うかもだけど)
Pandasの場合、DataFrameは、実は列ごとのデータであるSeriesをくっつけてるだけで、
列と列を足して新しいSeriesを作るような演算は、Series同士の演算ということで専用のCのコードが走ってロスが少ない。
一方1行ごとにPythonのforループで値を取り出して出すと、Pythonの遅いループのせいで遅くなる。
NumPyでもPandasでも、ブロードキャストせず値を一個一個取り出すような処理はめちゃくちゃ遅くなるからどうしようもない場合以外避けるべき。
C/C++言語で似たような処理をうまく実装すれば、基本的にはどっちの書き方でもそんなに違わないのだけどね。
結局は行数×2の足し算をしなければいけないのは、どうループを回そうが同じ
(厳密にはCPUのキャッシュに載る書き方をするかどうかとかで性能は違うかもだけど)
Pandasの場合、DataFrameは、実は列ごとのデータであるSeriesをくっつけてるだけで、
列と列を足して新しいSeriesを作るような演算は、Series同士の演算ということで専用のCのコードが走ってロスが少ない。
一方1行ごとにPythonのforループで値を取り出して出すと、Pythonの遅いループのせいで遅くなる。
NumPyでもPandasでも、ブロードキャストせず値を一個一個取り出すような処理はめちゃくちゃ遅くなるからどうしようもない場合以外避けるべき。
90デフォルトの名無しさん (ワッチョイ ea47-VscZ)
2022/12/03(土) 17:51:36.28ID:hui5F7Ye0 外部モジュール使わない場合でも、
本当にループを書くより、同等の処理が一行で書ける系の書き方の方が速い
本当にループを書くより、同等の処理が一行で書ける系の書き方の方が速い
91デフォルトの名無しさん (アウアウウー Sa08-g9pY)
2022/12/03(土) 18:32:31.91ID:H3EtATlxa >>84
富豪になれ
富豪になれ
92デフォルトの名無しさん (アウアウウー Sa08-g9pY)
2022/12/03(土) 18:35:20.84ID:H3EtATlxa iでループするとiというPyObjectにいちいちアクセスするから無駄が増える
93デフォルトの名無しさん (ワンミングク MM3e-lQrs)
2022/12/03(土) 20:52:15.48ID:AKVIlfb6M 計算よりもコードの解釈10000回に掛かる時間が長いのよ
94デフォルトの名無しさん (ワッチョイ ea47-VscZ)
2022/12/03(土) 21:05:08.47ID:hui5F7Ye0 実はこっそりコンパイルしてるだろと思っても本当にインタプリタなんだよな
変数名とか間違ってても到達しなければエラーにならない
変数名とか間違ってても到達しなければエラーにならない
95デフォルトの名無しさん (アウアウウー Sa3a-7Zdh)
2022/12/03(土) 21:18:53.10ID:pO2d8Q/6a 今時JITもない純粋なインタプリタだしな
どう考えても速くはならない
どう考えても速くはならない
96デフォルトの名無しさん (スッププ Sd02-zcV8)
2022/12/03(土) 22:10:50.47ID:aUunlJ3Sd >>84
O記法に使われるのは極限の値だからO(n)もO(2n)も大差がない一次関数的オーダーとみなされる
O記法に使われるのは極限の値だからO(n)もO(2n)も大差がない一次関数的オーダーとみなされる
97デフォルトの名無しさん (ワンミングク MM3e-lQrs)
2022/12/03(土) 23:18:09.05ID:AKVIlfb6M スクリプトなのを逆手に取ったトリッキーな事も出来るけどね
変数名を辞書のキーに使ってウィジェットを管理することでeval関数で自動同期できたりとか
変数名を辞書のキーに使ってウィジェットを管理することでeval関数で自動同期できたりとか
98デフォルトの名無しさん (ワッチョイ ea47-VscZ)
2022/12/03(土) 23:25:00.89ID:hui5F7Ye0 perlはコンパイルしてから動くのに、evalで動的なことできるんだよな
あいつが一番気持ち悪い
あいつが一番気持ち悪い
99デフォルトの名無しさん (ワッチョイ 0a10-R4o2)
2022/12/04(日) 00:54:32.96ID:E/Vw0mdO0 >>84
後者も毎回2行の処理があるから2nだよね
後者も毎回2行の処理があるから2nだよね
100デフォルトの名無しさん (アウアウウー Sa08-g9pY)
2022/12/04(日) 10:22:35.31ID:2Pwe8xJ8a Oが下がってもループそのものをpythonで描いてる限り速くならんって話だろ
101デフォルトの名無しさん (ワッチョイ 972c-JkWk)
2022/12/04(日) 10:53:22.33ID:AtzUGoNp0 >>97
もうちょっと詳しく聞きたい
もうちょっと詳しく聞きたい
102デフォルトの名無しさん (スプッッ Sd2a-jzPi)
2022/12/04(日) 11:16:52.00ID:1/Hu21BBd ChatGPTがやばい
たとえばネットで公開されてるプログラムのソースコードを渡したらめちゃくちゃ詳細に教えてくれる
自分はpython初心者だけど、理解できるレベルに噛み砕いて説明してもらえる
ここまですごいと「プログラム勉強する意味とは?」と不安になってくる
本当に「AIにやらせりゃいい」の時代が来る
これから人類は、仕事の価値が安すぎてロボットやAIにやらせないような、隙間の部分を仕事にしていくしかないかも
金銭的な資産がない状態から、技術を通して一定の財産を築いていくことは難しくなっていって
資産がある人間は苦労もせずさらに財産を増やせる、という社会構造だけが残ってしまうのでは
たとえばネットで公開されてるプログラムのソースコードを渡したらめちゃくちゃ詳細に教えてくれる
自分はpython初心者だけど、理解できるレベルに噛み砕いて説明してもらえる
ここまですごいと「プログラム勉強する意味とは?」と不安になってくる
本当に「AIにやらせりゃいい」の時代が来る
これから人類は、仕事の価値が安すぎてロボットやAIにやらせないような、隙間の部分を仕事にしていくしかないかも
金銭的な資産がない状態から、技術を通して一定の財産を築いていくことは難しくなっていって
資産がある人間は苦労もせずさらに財産を増やせる、という社会構造だけが残ってしまうのでは
103デフォルトの名無しさん (ワッチョイ 2e2a-ffC/)
2022/12/04(日) 12:10:29.10ID:vdoNuXff0 ひらめいた
104デフォルトの名無しさん (ワンミングク MM3e-lQrs)
2022/12/04(日) 13:23:26.47ID:0ZfK2JLIM >>101
自分はtkinterをクラス化して使ってるんだけど
ウィジェットを管理するクラスと、1つの変数に対応した複数のウィジェット持つフレームクラス(ラベル、インプット、ボタン)の2種類があって
管理クラスにウィジェットのタイプと変数名を渡せば、ウインドウ内に配置して、変数との同期を自動でやってくれるって感じにしてる
管理クラスは辞書で変数名をキーに、フレームオブジェクトを値として持っていて
updateを呼び出すとevalとexecをループで回して同期を行う感じ
色を変えたり、タイトルを変えたりするときは変数名をハンドル代わりにしてアクセスする
変数には共有のモジュール変数を使う必要があるけどね
自分はtkinterをクラス化して使ってるんだけど
ウィジェットを管理するクラスと、1つの変数に対応した複数のウィジェット持つフレームクラス(ラベル、インプット、ボタン)の2種類があって
管理クラスにウィジェットのタイプと変数名を渡せば、ウインドウ内に配置して、変数との同期を自動でやってくれるって感じにしてる
管理クラスは辞書で変数名をキーに、フレームオブジェクトを値として持っていて
updateを呼び出すとevalとexecをループで回して同期を行う感じ
色を変えたり、タイトルを変えたりするときは変数名をハンドル代わりにしてアクセスする
変数には共有のモジュール変数を使う必要があるけどね
105デフォルトの名無しさん (アウアウウー Sa3a-7Zdh)
2022/12/04(日) 14:29:21.47ID:XaoAEs7Da >>98
それrubyもpythonもphpも同じだぞ
それrubyもpythonもphpも同じだぞ
106デフォルトの名無しさん (ワッチョイ ea47-VscZ)
2022/12/04(日) 14:40:23.35ID:CjwdkMkG0 rubyは知らんけど、phpはどう考えてもコンパイルしとらんだろ
107デフォルトの名無しさん (アウアウウー Sa3a-7Zdh)
2022/12/04(日) 14:45:10.78ID:XaoAEs7Da コンパイルというのが機械語という意味なら
むしろPHPはJITなので1番してる
Rubyは最近YJITというのが入ってデフォルトでオフだが
オンにするとJITが走る
pythonはJITはしてないがVMの中間言語にコンパイルして実行している
perlもJITなしのVM中間言語にコンパイル
むしろPHPはJITなので1番してる
Rubyは最近YJITというのが入ってデフォルトでオフだが
オンにするとJITが走る
pythonはJITはしてないがVMの中間言語にコンパイルして実行している
perlもJITなしのVM中間言語にコンパイル
108デフォルトの名無しさん (アウアウウー Sa3a-7Zdh)
2022/12/04(日) 14:46:34.14ID:XaoAEs7Da つまりどの言語も何かしらの中間言語にコンパイルはしている
その後JITするかは処理系の実装次第
これはV8やJSCでも同じ
その後JITするかは処理系の実装次第
これはV8やJSCでも同じ
109デフォルトの名無しさん (ワッチョイ ea47-VscZ)
2022/12/04(日) 14:48:27.42ID:CjwdkMkG0 そら、ソースファイルを実行できんし
全ての言語がプロセッサが実行できる形式に変換はしとるわ
言ってるのはそういうことではない
全ての言語がプロセッサが実行できる形式に変換はしとるわ
言ってるのはそういうことではない
110デフォルトの名無しさん (ブーイモ MM5a-npym)
2022/12/04(日) 15:10:34.41ID:LiTniMSdM お前らのバカさかげんには
開いた口が塞がらない笑笑
コンパイラ作ったことないのか?
なにがJITだバカw
開いた口が塞がらない笑笑
コンパイラ作ったことないのか?
なにがJITだバカw
111デフォルトの名無しさん (ワッチョイ 04da-UzR7)
2022/12/04(日) 15:44:47.04ID:OHPAilb60 JITはJIT(just in time)コンパイラの略なんだが...
112デフォルトの名無しさん (ワッチョイ d8cf-R4o2)
2022/12/04(日) 15:50:06.61ID:qWdYVkpM0 BASICの時代から中間言語使ってるしな
113デフォルトの名無しさん (アウアウウー Sa3a-7Zdh)
2022/12/04(日) 16:00:54.70ID:XaoAEs7Da >>110
かわいそう
かわいそう
114デフォルトの名無しさん (ワッチョイ 04da-UzR7)
2022/12/04(日) 17:22:39.36ID:OHPAilb60 今時の実用言語で純粋にインタプリタ形式なのはシェルスクリプトぐらいじゃないかな
115デフォルトの名無しさん (ワッチョイ 9630-RX5i)
2022/12/04(日) 17:56:55.17ID:AMZRvu8s0 >>104
時間の問題でしょ
アメリカでは自律のタクシーが稼働しているぐらいだし
時間の問題で労働人口は大幅に減る
その前に役所系の手続きをなんとかして欲しいけど
引っ越した時のナンバープレート交換とか
1番並んで、10番並んで、15番並んでと、、延々と指示されたところに行って並んで
書類提出して待つってことを朝からやり続けてプレート付けて帰るまで1日かかったけど
中国人が途中でキレて「お前いくらもらってるんだ?すぐ出来ないのか!」とか怒鳴ってたけど
もうあり得ない
時間の問題でしょ
アメリカでは自律のタクシーが稼働しているぐらいだし
時間の問題で労働人口は大幅に減る
その前に役所系の手続きをなんとかして欲しいけど
引っ越した時のナンバープレート交換とか
1番並んで、10番並んで、15番並んでと、、延々と指示されたところに行って並んで
書類提出して待つってことを朝からやり続けてプレート付けて帰るまで1日かかったけど
中国人が途中でキレて「お前いくらもらってるんだ?すぐ出来ないのか!」とか怒鳴ってたけど
もうあり得ない
116デフォルトの名無しさん (スッププ Sd02-zcV8)
2022/12/04(日) 19:21:18.01ID:o3Jeub4td スレチの話するや釣って安価すら間違うから始末に負えない
117デフォルトの名無しさん (ワッチョイ 1a63-4FAg)
2022/12/04(日) 19:25:47.00ID:HgjSOVEG0 別の時空間と重ね合わせが起きているせいじゃないか?
どうも間違えていると言う認識を持ってなさそうだし
どうも間違えていると言う認識を持ってなさそうだし
118デフォルトの名無しさん (ワッチョイ 9b5f-QHkP)
2022/12/07(水) 23:42:34.19ID:18d7hgTv0 pythonから初めた人が、一番ビックリするのはどの言語だろう。
異質というか書き方、考え方がまったく異なるのは
異質というか書き方、考え方がまったく異なるのは
119デフォルトの名無しさん (ワッチョイ d8cf-R4o2)
2022/12/07(水) 23:47:25.14ID:cTs8jKu40 一般的なのはALGOL系言語ばかりだから
その範囲で見るかどうか
その範囲で見るかどうか
120デフォルトの名無しさん (ワッチョイ 1666-qI7H)
2022/12/07(水) 23:54:09.00ID:zyT8atzW0 びっくりの方向性だよな
そんな原始的なのという驚きか、そんなに進歩してるのなのか
そんな原始的なのという驚きか、そんなに進歩してるのなのか
121デフォルトの名無しさん (ブーイモ MMba-yU1l)
2022/12/08(木) 00:31:24.99ID:QpDPt4dNM Lisp、Prolog、Haskell
近いようで遠いRubyやJavaScriptも少し潜れば驚くかも
近いようで遠いRubyやJavaScriptも少し潜れば驚くかも
122デフォルトの名無しさん (ワッチョイ 1a63-4FAg)
2022/12/08(木) 00:53:56.36ID:9104bOlZ0 sed
言語じゃないと言う説もある
言語じゃないと言う説もある
123デフォルトの名無しさん (ワッチョイ 7cda-N87w)
2022/12/08(木) 04:16:29.48ID:xxMUZ71f0 FORTH&MIND系、APLが吃驚どっきりかと
124デフォルトの名無しさん (オッペケ Sr39-KTO4)
2022/12/08(木) 04:57:00.65ID:wTGSW5Ddr アセンプリ言語はさすがの俺でもチンプンカンプン
125デフォルトの名無しさん (ワッチョイ 1666-qI7H)
2022/12/08(木) 09:21:07.59ID:1SDiWL4a0 情報技術者のテスト範囲だぞ
126デフォルトの名無しさん (ワッチョイ 9630-RX5i)
2022/12/08(木) 09:33:08.99ID:448yHz6S0 >>117
意識はあるけど、初めて書き込むので
話題が変わるまで、様子を見ようと思って、、、
しばらくして、、いきなり違うIDで連投に近い形で2レス入って、、
またしばらく空く感じか、、、
よくあるパターンだったな
意識はあるけど、初めて書き込むので
話題が変わるまで、様子を見ようと思って、、、
しばらくして、、いきなり違うIDで連投に近い形で2レス入って、、
またしばらく空く感じか、、、
よくあるパターンだったな
127デフォルトの名無しさん (ワッチョイ 4aa4-zcV8)
2022/12/08(木) 09:40:19.93ID:DDcWYWxw0 誰か>>126の言ってること翻訳して
128デフォルトの名無しさん (ワッチョイ 9b5f-QHkP)
2022/12/08(木) 11:02:14.98ID:1XQgTTzM0 >>102
ヤバいな。もう人間のコーダーいらん未来が見えてくる。
ヤバいな。もう人間のコーダーいらん未来が見えてくる。
129デフォルトの名無しさん (ワッチョイ 1666-qI7H)
2022/12/08(木) 11:17:00.51ID:1SDiWL4a0 そんな未来は前から見えていたけど、予想よりも早く来た
技術の進歩は加速度的に進むことをいつも忘れていて、
この感じで行けば、でつい推測してしまって、もうできたのかと驚く
AIは特にそう
技術の進歩は加速度的に進むことをいつも忘れていて、
この感じで行けば、でつい推測してしまって、もうできたのかと驚く
AIは特にそう
130デフォルトの名無しさん (ワンミングク MM3e-lQrs)
2022/12/08(木) 11:25:47.13ID:4UfRv5L5M ChatGPT実際使ってみたら分かるけど
ニッチな要求にはまるで駄目
所詮は自然言語処理AIでしかないよ
そう考えたときに必要なくなるのはプログラマーではなく"文系"だということが分かる
ニッチな要求にはまるで駄目
所詮は自然言語処理AIでしかないよ
そう考えたときに必要なくなるのはプログラマーではなく"文系"だということが分かる
131デフォルトの名無しさん (ワッチョイ 9b5f-QHkP)
2022/12/08(木) 12:10:52.68ID:1XQgTTzM0132デフォルトの名無しさん (ワッチョイ 4aa4-zcV8)
2022/12/08(木) 12:28:42.93ID:5XymevYj0 >>131
さすが文系様、スレ違いを延々とご苦労様
さすが文系様、スレ違いを延々とご苦労様
133デフォルトの名無しさん (ワッチョイ dfad-9F0H)
2022/12/12(月) 12:10:56.90ID:oLi82JVG0 理系は論文書いて博士号取って
研究者として、
悠々自適の人生だからね。
たまにFラン理系のバカのクスがIT関連の
仕事してるそうだが
恥ずかしいから理系と言わないで欲しいよね。
IT関連の仕事は文系の仕事だから笑笑
研究者として、
悠々自適の人生だからね。
たまにFラン理系のバカのクスがIT関連の
仕事してるそうだが
恥ずかしいから理系と言わないで欲しいよね。
IT関連の仕事は文系の仕事だから笑笑
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【J SPORTS】FIFA U-17ワールドカップ ★9
- 【J SPORTS】FIFA U-17ワールドカップ ★10
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- かしこいワンコっていうVtuberの子知ってる?
- カレーライスぐちゃぐちゃに混ぜる奴🤣
- 女だけど眠れない
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
