当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その54
■ このスレッドは過去ログ倉庫に格納されています
2021/06/09(水) 21:05:44.61ID:zRBfpo4e
236デフォルトの名無しさん
2021/07/03(土) 09:39:19.49ID:UqPPpbRy >>234
いや単位行列は斜めに1があるやつで
逆行列は普通の行列に逆行列をかけると単位行列になるって言うのはわかるんだよ
ただその後これはスカラーですだのこれはベクトルですだの出てきて記号いっぱいになると途端に訳が分からなくなるのだよ分かる?
行列積があーだのこーだの
いや単位行列は斜めに1があるやつで
逆行列は普通の行列に逆行列をかけると単位行列になるって言うのはわかるんだよ
ただその後これはスカラーですだのこれはベクトルですだの出てきて記号いっぱいになると途端に訳が分からなくなるのだよ分かる?
行列積があーだのこーだの
237デフォルトの名無しさん
2021/07/03(土) 09:40:33.15ID:UqPPpbRy238デフォルトの名無しさん
2021/07/03(土) 11:01:50.13ID:gq7PWL9B >>236
馬鹿には無理
馬鹿には無理
239デフォルトの名無しさん
2021/07/03(土) 11:06:01.41ID:MyiFvpsW おっさんは行列を高校でやってるからなあ
240デフォルトの名無しさん
2021/07/03(土) 11:53:08.74ID:ENhcG6bL 内積、外積
241デフォルトの名無しさん
2021/07/03(土) 12:45:29.69ID:WO4lFPcp >>236
>分かる?
とか言われてもその気持ちは分からんなぁ
普通に行列やって普通に単位取れたってことは特に苦労しなかったんだから、
ワケが分からなくなることがなかった
記号が一杯でも初見で大丈夫だったからお前の気持ちは一切分からん
>分かる?
とか言われてもその気持ちは分からんなぁ
普通に行列やって普通に単位取れたってことは特に苦労しなかったんだから、
ワケが分からなくなることがなかった
記号が一杯でも初見で大丈夫だったからお前の気持ちは一切分からん
242デフォルトの名無しさん
2021/07/03(土) 14:35:42.16ID:ZeViGhZj 関流に弟子入りするべき
243デフォルトの名無しさん
2021/07/03(土) 16:40:21.53ID:mObkgdSa244デフォルトの名無しさん
2021/07/03(土) 17:33:35.17ID:KyOEtNLT pythonってプログラミング言語の中では簡単な方って本当ですか?
最近勉強してるんですが難し過ぎるんですが
最近勉強してるんですが難し過ぎるんですが
245デフォルトの名無しさん
2021/07/03(土) 17:57:04.61ID:2G/hXmzA [[1,2,3], [1,2,3], [1,2,3]]
がほしいとき
[[1,2,3]*3]じゃなくて[[1,2,3]]*3だけど
感覚的には前者なので違和感が強いです
なんかいい感じに納得させてもらえませんか
がほしいとき
[[1,2,3]*3]じゃなくて[[1,2,3]]*3だけど
感覚的には前者なので違和感が強いです
なんかいい感じに納得させてもらえませんか
246デフォルトの名無しさん
2021/07/03(土) 18:07:23.78ID:bc4tv4Cc247デフォルトの名無しさん
2021/07/03(土) 18:15:50.79ID:WO4lFPcp かんたん言ってる奴は先に別の言語をやってた可能性が高い
それに比べるとかんたんと言ってる
それに比べるとかんたんと言ってる
248デフォルトの名無しさん
2021/07/03(土) 19:42:13.76ID:KyOEtNLT249デフォルトの名無しさん
2021/07/03(土) 20:08:02.32ID:IMGL3rxE250デフォルトの名無しさん
2021/07/03(土) 21:33:02.67ID:I7Zt9Z8V 合成関数のとことかシグモイド関数の微分とかお前らモヤらんのか?
中卒野俺にはわからんがめっちゃ頭いいな
中卒野俺にはわからんがめっちゃ頭いいな
251デフォルトの名無しさん
2021/07/03(土) 23:09:47.68ID:91vjT9iB 頑張って一般化逆行列を理解しよう
252デフォルトの名無しさん
2021/07/03(土) 23:27:47.89ID:avhnjRXY YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
初心者は、Ruby on Rails から始める
Python, PHP も勧めていない
バックエンドは、Ruby → Go という路線
初心者は、Ruby on Rails から始める
Python, PHP も勧めていない
バックエンドは、Ruby → Go という路線
253デフォルトの名無しさん
2021/07/04(日) 00:07:57.92ID:DDnLb3K7 ケンタはあわしろ氏の一番弟子。
実力は折り紙付き。
実力は折り紙付き。
254デフォルトの名無しさん
2021/07/04(日) 03:15:46.12ID:kVVHiiiU TIOBEのTOP10から転落した落ち目言語はポイーで
255デフォルトの名無しさん
2021/07/04(日) 08:47:31.64ID:5abFjuPT 範囲内、重複なしのreq_indexでdb(リスト)からデータ取得する
selection = [db[idx] for idx in req]
こういうのの逆で、渡されたreqに含まれてないidxデータ取得するとき、一番スマートなのはどういう書き方?
selection = [db[idx] for idx in req]
こういうのの逆で、渡されたreqに含まれてないidxデータ取得するとき、一番スマートなのはどういう書き方?
256デフォルトの名無しさん
2021/07/04(日) 08:50:25.61ID:5abFjuPT db[あ,い,う,え]
req[0,2]
get[い,え]
ていう場合
req[0,2]
get[い,え]
ていう場合
257デフォルトの名無しさん
2021/07/04(日) 10:13:27.09ID:hbHHSLi0258デフォルトの名無しさん
2021/07/04(日) 10:17:54.09ID:pili1Lz/ >>245
[3*3] -> [9]
[3]*3 -> [3, 3, 3]
[[3*3]] -> [[9]]
[[3]*3] -> [[3, 3, 3]]
[[3]]*3 -> [[3], [3], [3]]
[3*3] -> [9]
[3]*3 -> [3, 3, 3]
[[3*3]] -> [[9]]
[[3]*3] -> [[3, 3, 3]]
[[3]]*3 -> [[3], [3], [3]]
259デフォルトの名無しさん
2021/07/04(日) 10:19:32.88ID:pili1Lz/260デフォルトの名無しさん
2021/07/04(日) 12:15:28.10ID:1R4z78Cs ってみんな言ってます!
261デフォルトの名無しさん
2021/07/04(日) 14:20:14.26ID:BYgnURbL わしもそう思う
262デフォルトの名無しさん
2021/07/04(日) 15:29:30.76ID:uQBb7zfv いやプログラムの根底は演算と型と制御だろ
そりゃベースが出来てれば大体何でも出来るわ
そりゃベースが出来てれば大体何でも出来るわ
263デフォルトの名無しさん
2021/07/04(日) 15:59:44.10ID:SaImNcMt あとライブラリの探し方と使い方かな
264デフォルトの名無しさん
2021/07/04(日) 16:34:17.72ID:i/yFAdE3265デフォルトの名無しさん
2021/07/04(日) 17:11:19.65ID:Thc8jF3i プログラムの根底とプログラミングの根底は全く別物
その程度の区別が出来ないようなら大体何も出来ない
その程度の区別が出来ないようなら大体何も出来ない
266デフォルトの名無しさん
2021/07/04(日) 18:27:39.63ID:CJXzLbyo proxyを通して接続するときに、そのproxyが生きているかどうかだけ確認したいのですが
実際に存在する適当なサイトに接続してステータスコード200を確認すればよいのでしょうか?
今は、
プロキシ経由OKの(なるべくレスポンスの速い)サイトでrequests.getして200返ってきたらproxy生存
みたいにしてるのですが
それ専用のチェックの仕方があるのかな、と気になりました
実際に存在する適当なサイトに接続してステータスコード200を確認すればよいのでしょうか?
今は、
プロキシ経由OKの(なるべくレスポンスの速い)サイトでrequests.getして200返ってきたらproxy生存
みたいにしてるのですが
それ専用のチェックの仕方があるのかな、と気になりました
267デフォルトの名無しさん
2021/07/04(日) 19:06:12.27ID:KdurfuN3 >>265
確かに1行目と2行目の文章が繋がってないお前が言うと説得力あるなあ
確かに1行目と2行目の文章が繋がってないお前が言うと説得力あるなあ
268デフォルトの名無しさん
2021/07/04(日) 20:09:32.45ID:L4Prcy4Z >>255
[db[i] for i in {i for i in range(len(db))}-set(req)]
[db[i] for i in {i for i in range(len(db))}-set(req)]
269デフォルトの名無しさん
2021/07/04(日) 21:43:55.75ID:aHJdtdht >一つの言語を極めると、他の言語を覚えるのは簡単
これ自体が嘘。
10年以上掛かるし、各言語の特殊性を学んでも、再利用できないから無駄
YouTube で有名な、雑食系エンジニア・KENTA は全く逆の事を言ってる
80 : 20 の法則。
簡単な80% の部分だけを学ぶべき
難しい20%の部分は、特殊だから再利用できない・使う頻度が少ない割に、
学ぶ時間が何倍も掛かるので、効率が悪い
専門学校で必ず言われること
例えば、法律の条文の暗記とか、
15題ずつ、重要度A・B・Cのランクがあったら、
AB だけ暗記して、C を捨てろとか
使う・出る確率が低いから、そこに暗記コストを掛けるのが無駄
ドラゴン桜で言う、京大英語・赤本で英語を学ぶなという格言。
特殊で、誰も使わないようなトリビア表現に、時間を掛けるな
数百人のネイティブがチェックしてる、英検をやれ
これ自体が嘘。
10年以上掛かるし、各言語の特殊性を学んでも、再利用できないから無駄
YouTube で有名な、雑食系エンジニア・KENTA は全く逆の事を言ってる
80 : 20 の法則。
簡単な80% の部分だけを学ぶべき
難しい20%の部分は、特殊だから再利用できない・使う頻度が少ない割に、
学ぶ時間が何倍も掛かるので、効率が悪い
専門学校で必ず言われること
例えば、法律の条文の暗記とか、
15題ずつ、重要度A・B・Cのランクがあったら、
AB だけ暗記して、C を捨てろとか
使う・出る確率が低いから、そこに暗記コストを掛けるのが無駄
ドラゴン桜で言う、京大英語・赤本で英語を学ぶなという格言。
特殊で、誰も使わないようなトリビア表現に、時間を掛けるな
数百人のネイティブがチェックしてる、英検をやれ
270デフォルトの名無しさん
2021/07/04(日) 21:52:26.25ID:1R4z78Cs271デフォルトの名無しさん
2021/07/04(日) 22:03:17.62ID:9C8iWrP9 推奨NGWord
Ruby
あわしろ氏
雑食系エンジニア
Ruby
あわしろ氏
雑食系エンジニア
272デフォルトの名無しさん
2021/07/04(日) 22:19:49.10ID:YfSOCxWP そうして簡単な単純労働しかできない人が量産されるんですね
273デフォルトの名無しさん
2021/07/04(日) 22:21:45.55ID:1R4z78Cs 簡単な部分の精度を上げろってこった
274デフォルトの名無しさん
2021/07/04(日) 22:35:43.14ID:ZDZVmq0W 難しい2割を理解できる人が世の中をまわす
275デフォルトの名無しさん
2021/07/04(日) 22:38:11.14ID:1R4z78Cs むつかしいほうは8割だっつっとろうが
276デフォルトの名無しさん
2021/07/04(日) 22:39:45.78ID:SVViFRUT277269
2021/07/04(日) 22:40:16.40ID:aHJdtdht 簡単な80% の部分を、横に進めていく。
Ruby on Rails なんて、まさにそう。浅く広く
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
さらに、AWS Fargate, Terraform, Vue.js, TypeScript
KENTA のサロン、AWSのくろかわこうへいのサロンに入る。
だから、1年の未経験者が、10年以上のプロよりも技術力が上になる!
時間が掛かる、難しい20%の部分を勉強しないから。
これを、KENTAが勉強方法のチートと言ってる
簡単な80%の部分の勉強時間は、20%しか掛からないのに、
難しい20%の部分の勉強時間は、80%掛かる
つまり、勉強時間では逆になる。
しかも、特殊だから再利用できない・使う頻度が少なく、役に立たない
例えば、C を10年やってる香具師の大部分の時間が、ポインターを追っかけている時間
だから、時間が掛かるだけで、何も学べていないから、
Railsを1年やっただけの未経験者に負けてしまう
Rubyの女神・池澤あやかも言ってる。
大学生がプログラミングで挫折するのは、Cをやるからだって
つまり、ほぼ無意味なことを長時間やるから、しょーもない
Ruby on Rails なんて、まさにそう。浅く広く
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
さらに、AWS Fargate, Terraform, Vue.js, TypeScript
KENTA のサロン、AWSのくろかわこうへいのサロンに入る。
だから、1年の未経験者が、10年以上のプロよりも技術力が上になる!
時間が掛かる、難しい20%の部分を勉強しないから。
これを、KENTAが勉強方法のチートと言ってる
簡単な80%の部分の勉強時間は、20%しか掛からないのに、
難しい20%の部分の勉強時間は、80%掛かる
つまり、勉強時間では逆になる。
しかも、特殊だから再利用できない・使う頻度が少なく、役に立たない
例えば、C を10年やってる香具師の大部分の時間が、ポインターを追っかけている時間
だから、時間が掛かるだけで、何も学べていないから、
Railsを1年やっただけの未経験者に負けてしまう
Rubyの女神・池澤あやかも言ってる。
大学生がプログラミングで挫折するのは、Cをやるからだって
つまり、ほぼ無意味なことを長時間やるから、しょーもない
278デフォルトの名無しさん
2021/07/04(日) 22:41:49.47ID:ZDZVmq0W 重要なのは2割って話は知ってるけど
簡単なのは2割って知らんな
簡単なのは2割って知らんな
279デフォルトの名無しさん
2021/07/04(日) 22:48:09.20ID:1R4z78Cs 統失煽りで文化人を一人殺したので
名前が同じだけでもてはやされてたKENTAは用済み
名前が同じだけでもてはやされてたKENTAは用済み
280デフォルトの名無しさん
2021/07/04(日) 23:01:11.65ID:PTs94Rmb Rubyって時点でお察し
281デフォルトの名無しさん
2021/07/05(月) 00:27:11.73ID:SA0zdM26 > だから、1年の未経験者が、10年以上のプロよりも技術力が上になる!
プロ舐めすぎやろ
自分のレベルすら正確に把握出来てないだけじゃん
プロ舐めすぎやろ
自分のレベルすら正確に把握出来てないだけじゃん
282デフォルトの名無しさん
2021/07/05(月) 01:30:50.54ID:cyuSl6kj >>245
演算規則を考えよう
1 * 3 = 1 + 1 + 1 = 3
[1] * 3 = [1] + [1] + [1] = [1, 1, 1]
であるので、
[[1]] * 3 = [[1]] + [[1]] + [[1]] = [[1], [1], [1]]
となる
加算と乗算に一貫性をもたせるとしたらこうするか、
1 + 1 = [1, 1]
[1] + [1] = [[1] + [1]]
のような規則にするしかないけど、明らかに1 + 1がリストになっちゃうのは使いにくいでしょ
演算規則を考えよう
1 * 3 = 1 + 1 + 1 = 3
[1] * 3 = [1] + [1] + [1] = [1, 1, 1]
であるので、
[[1]] * 3 = [[1]] + [[1]] + [[1]] = [[1], [1], [1]]
となる
加算と乗算に一貫性をもたせるとしたらこうするか、
1 + 1 = [1, 1]
[1] + [1] = [[1] + [1]]
のような規則にするしかないけど、明らかに1 + 1がリストになっちゃうのは使いにくいでしょ
283デフォルトの名無しさん
2021/07/05(月) 01:54:24.43ID:ts/O0CHN >>281
ダニングクルーガー効果ってのがあってぇ…
ダニングクルーガー効果ってのがあってぇ…
284デフォルトの名無しさん
2021/07/05(月) 08:07:41.22ID:308oM4PQ285デフォルトの名無しさん
2021/07/05(月) 11:09:29.47ID:c503ASju286デフォルトの名無しさん
2021/07/05(月) 11:52:44.70ID:DJ8mSFAE Railsはすべて分かっている人にとっては楽
初心者は設定や、細かいチューニングで必ずつまずく
初心者は設定や、細かいチューニングで必ずつまずく
287デフォルトの名無しさん
2021/07/05(月) 14:49:22.59ID:WfBg4Dd7 pandasで特定の列(横)の重複した値を削除して一つだけにするのってどうするの
例えばA,B,C,B,C,DってあったらA,B,C,,,Dにしたい(BやCのみでも可)
例えばA,B,C,B,C,DってあったらA,B,C,,,Dにしたい(BやCのみでも可)
288デフォルトの名無しさん
2021/07/05(月) 14:56:34.11ID:zfQ+6anv kwsk
289デフォルトの名無しさん
2021/07/05(月) 17:20:56.75ID:rH8GS2yx >>287
あえてPandas使ってとなるとむずいな
あえてPandas使ってとなるとむずいな
290デフォルトの名無しさん
2021/07/05(月) 18:56:50.40ID:+tp9LwEv BやCのみでも可なら
df.replace('B','').replace('C','')
それとは別にdf.duplicatedで空白にしたいインデックスがTrueになる
データフレームが得られる
データフレームにSQLほどの機能はないようだ
df.replace('B','').replace('C','')
それとは別にdf.duplicatedで空白にしたいインデックスがTrueになる
データフレームが得られる
データフレームにSQLほどの機能はないようだ
291デフォルトの名無しさん
2021/07/05(月) 20:17:35.08ID:41zUyXOD dfの横はlist的に扱えるから一次元リストの重複要素を任意の値に置き換えるという操作をするだけでは?
292デフォルトの名無しさん
2021/07/05(月) 21:27:56.39ID:WfBg4Dd7 サンクス!
293デフォルトの名無しさん
2021/07/06(火) 00:10:38.82ID:c1bms/+C みんなのPythonで勉強しているのですがP340のwith文の説明がよくわかりません
私の理解では、with文でopen()した場合は、ファイルを最後まで読み切ったら自動的にclose()する処理になると思っています
この参考書には、openするファイルが存在しなかったらファイルを開かないで処理を終了する、ということが書いてあるのですが間違っていないでしょうか
openするファイルが存在しないと普通にエラーになるのですが
私の理解では、with文でopen()した場合は、ファイルを最後まで読み切ったら自動的にclose()する処理になると思っています
この参考書には、openするファイルが存在しなかったらファイルを開かないで処理を終了する、ということが書いてあるのですが間違っていないでしょうか
openするファイルが存在しないと普通にエラーになるのですが
294デフォルトの名無しさん
2021/07/06(火) 00:38:25.59ID:wcT5LwJn modeによるとしか
readならその通り。writeはファイルが存在しなければ作成される。
readならその通り。writeはファイルが存在しなければ作成される。
295デフォルトの名無しさん
2021/07/06(火) 00:48:09.74ID:IX8Wt/RA modeの話?
296デフォルトの名無しさん
2021/07/06(火) 00:52:21.13ID:AJxevGXU Ruby では、存在しないファイルを読もうとしたら、エラーになる。No such file
print File.read 'abc.txt'
出力
No such file or directory @ rb_sysopen - abc.txt (Errno::ENOENT)
print File.read 'abc.txt'
出力
No such file or directory @ rb_sysopen - abc.txt (Errno::ENOENT)
297デフォルトの名無しさん
2021/07/06(火) 01:06:54.99ID:c1bms/+C 参考書の例文はモード指定しない既定なのでreadです
with文のreadモードで開いたファイルをfor文で一行ずつprintしています
説明によると、ファイルが存在していたら処理を行うという意味のコードになるとのことです
with文のreadモードで開いたファイルをfor文で一行ずつprintしています
説明によると、ファイルが存在していたら処理を行うという意味のコードになるとのことです
298デフォルトの名無しさん
2021/07/06(火) 01:21:35.74ID:n3HBlCzk おじちゃんせっかくマニュアルあるのに読まない子の気持ちはわからないよ
https://docs.python.org/ja/3/library/functions.html?highlight=open#open
https://docs.python.org/ja/3/library/functions.html?highlight=open#open
299デフォルトの名無しさん
2021/07/06(火) 01:33:10.58ID:M25Qh6q2 >>293
>私の理解では、with文でopen()した場合は、ファイルを最後まで読み切ったら自動的にclose()する処理になると思っています
違うよ
>この参考書には、openするファイルが存在しなかったらファイルを開かないで処理を終了する、ということが書いてあるのですが間違っていないでしょうか
サンプルコードではFileNotFoundErrorをハンドリングしてるね
https://colab.research.google.com/github/shibats/minpy_samplecodes_4th/blob/master/Chapter10/10-01.ipynb
>私の理解では、with文でopen()した場合は、ファイルを最後まで読み切ったら自動的にclose()する処理になると思っています
違うよ
>この参考書には、openするファイルが存在しなかったらファイルを開かないで処理を終了する、ということが書いてあるのですが間違っていないでしょうか
サンプルコードではFileNotFoundErrorをハンドリングしてるね
https://colab.research.google.com/github/shibats/minpy_samplecodes_4th/blob/master/Chapter10/10-01.ipynb
300デフォルトの名無しさん
2021/07/06(火) 16:37:29.04ID:ewE8N/dz def test():
__return random.randint(2,5)
obj=[test(), 0, 1]
l = random.choices(obj, k=3)
# -> [4,2,0]
testが毎回実行されて(lに違う数字で入って)ほしい
どう書けばいいの?
__return random.randint(2,5)
obj=[test(), 0, 1]
l = random.choices(obj, k=3)
# -> [4,2,0]
testが毎回実行されて(lに違う数字で入って)ほしい
どう書けばいいの?
301デフォルトの名無しさん
2021/07/06(火) 16:45:42.95ID:Fj5fpx8O302デフォルトの名無しさん
2021/07/06(火) 16:46:46.00ID:8bcWgGBz def test():
__return random.randint(2,5)
def exectest():
__obj=[test(), 0, 1]
__l = random.choices(obj, k=3)
exectest()
__return random.randint(2,5)
def exectest():
__obj=[test(), 0, 1]
__l = random.choices(obj, k=3)
exectest()
303デフォルトの名無しさん
2021/07/06(火) 18:44:35.16ID:yuAoY/NP numpy.loadtxtでcsvファイルを読み込むんだが、csvファイルのデータが崩れていることがある。
で、何行目にエラーがあって取り込めなかったのかを知りたいんだが、いい方法ない?
データが崩れているというのは、例えば、
-1.234,123.45.789,
みたいに、ありえない数値表現が紛れているということなんだが
csvファイルが崩れないようにするのが本筋だけどそっちに頑張る気がないので
おかしな行を見つけたら手動でその行を削除して再度処理という感じで運用したい
で、何行目にエラーがあって取り込めなかったのかを知りたいんだが、いい方法ない?
データが崩れているというのは、例えば、
-1.234,123.45.789,
みたいに、ありえない数値表現が紛れているということなんだが
csvファイルが崩れないようにするのが本筋だけどそっちに頑張る気がないので
おかしな行を見つけたら手動でその行を削除して再度処理という感じで運用したい
304デフォルトの名無しさん
2021/07/06(火) 19:22:28.01ID:BTTPD25v typeでチェックすれば
305デフォルトの名無しさん
2021/07/06(火) 20:02:32.04ID:MGYt6+tS 通常はどういう数値が入るのか分からんとなんとも言えないな
306デフォルトの名無しさん
2021/07/06(火) 21:14:42.87ID:yuAoY/NP307デフォルトの名無しさん
2021/07/07(水) 00:12:50.55ID:eWdID8i0308デフォルトの名無しさん
2021/07/07(水) 00:17:53.03ID:bUHYGk47 例えば、Ruby では各列を、変換器・converter で変換して、
変換できたかどうか、型を確認するとか
require "csv"
input_str = <<"EOT"
-0.0,1.2.3
9..9,-0
EOT
csv = CSV.new( input_str )
csv.convert( :numeric ) # 数値型へ変換する
line_num = 0 # 行番号
csv.each do |row|
line_num += 1
p [ line_num, row[ 0 ].class, row[ 1 ].class ]
end
出力
[1, Float, String]
[2, String, Integer]
1.2.3, 9..9 が、変換に失敗して、文字列型のまま
変換できたかどうか、型を確認するとか
require "csv"
input_str = <<"EOT"
-0.0,1.2.3
9..9,-0
EOT
csv = CSV.new( input_str )
csv.convert( :numeric ) # 数値型へ変換する
line_num = 0 # 行番号
csv.each do |row|
line_num += 1
p [ line_num, row[ 0 ].class, row[ 1 ].class ]
end
出力
[1, Float, String]
[2, String, Integer]
1.2.3, 9..9 が、変換に失敗して、文字列型のまま
309デフォルトの名無しさん
2021/07/07(水) 00:41:11.10ID:DonMIAPH310デフォルトの名無しさん
2021/07/07(水) 00:49:15.09ID:85qcEXGX >>308
せめてnumpyを移植してから知った風な口を利け
せめてnumpyを移植してから知った風な口を利け
311デフォルトの名無しさん
2021/07/07(水) 14:46:15.07ID:JFEXb6g2 pep8に
単一の文字 'l' (小文字のエル)、'O' (大文字のオー)、'I'(大文字のアイ) を決して変数に使わないでください。
フォントによっては、これらの文字は数字の1や0と区別が付かない場合があります。
ってあるけど、上のような理屈であれば、単一の文字でなくても同じ理由で使うべきではないことになるんでは?
単一の文字 'l' (小文字のエル)、'O' (大文字のオー)、'I'(大文字のアイ) を決して変数に使わないでください。
フォントによっては、これらの文字は数字の1や0と区別が付かない場合があります。
ってあるけど、上のような理屈であれば、単一の文字でなくても同じ理由で使うべきではないことになるんでは?
312デフォルトの名無しさん
2021/07/07(水) 15:11:46.21ID:49748z4f 10ng と long と IONG を間違うかって話だな
313デフォルトの名無しさん
2021/07/07(水) 16:43:31.83ID:2KJNjcti $python hoge.py 10 | python hoge2.py | python hoge3.py
### hoge.py ###
import sys
for i in range(int(sys.argv[1])):
_print(i)
### hoge2.py ###
import sys
a=''.join(sys.stdin.readlines()).strip().split('\n')
a.append(len(a))
for n in a:
_print(n)
### hoge3.py ###
import sys
print(len(''.join(sys.stdin.readlines()).strip().split('\n')))
ざっくり
(1)hoge.py 10で10個数字を出力
(2)hoge2.pyで受け取り、値を追加して出力
(3)hoge3.pyで受け取り、1個増えたことを確認
なのですが、受け取った値を成形する
''.join(sys.stdin.readlines()).strip().split('\n')
の部分はこの書き方でよいでしょうか?
そもそも標準出力をprintでやるのかもわかりません
それ専用の標準ライブラリとかあるのかな
### hoge.py ###
import sys
for i in range(int(sys.argv[1])):
_print(i)
### hoge2.py ###
import sys
a=''.join(sys.stdin.readlines()).strip().split('\n')
a.append(len(a))
for n in a:
_print(n)
### hoge3.py ###
import sys
print(len(''.join(sys.stdin.readlines()).strip().split('\n')))
ざっくり
(1)hoge.py 10で10個数字を出力
(2)hoge2.pyで受け取り、値を追加して出力
(3)hoge3.pyで受け取り、1個増えたことを確認
なのですが、受け取った値を成形する
''.join(sys.stdin.readlines()).strip().split('\n')
の部分はこの書き方でよいでしょうか?
そもそも標準出力をprintでやるのかもわかりません
それ専用の標準ライブラリとかあるのかな
314デフォルトの名無しさん
2021/07/07(水) 17:49:17.95ID:vUBZA2na >>313
標準出力はprintでやるのでいいよ
1行ごとに処理したいわけじゃなければ.read().splitlines()すればいいと思う
#hoge2.py
import sys
a = sys.stdin.read().splitlines()
a.append(len(a))
for n in a:
__print(n)
#hoge3.py
import sys
print(len(sys.stdin.read().splitlines()))
標準出力はprintでやるのでいいよ
1行ごとに処理したいわけじゃなければ.read().splitlines()すればいいと思う
#hoge2.py
import sys
a = sys.stdin.read().splitlines()
a.append(len(a))
for n in a:
__print(n)
#hoge3.py
import sys
print(len(sys.stdin.read().splitlines()))
315デフォルトの名無しさん
2021/07/07(水) 18:46:33.05ID:2KJNjcti316デフォルトの名無しさん
2021/07/08(木) 21:41:26.17ID:g5ngXWNu raspbian buster上のpython3.7.3で、
subprocess上で読み込むcsvファイルをStringIOにするとうまくいかず困っています。
以下2つのソースで、異なるのは1行目だけです。
[test1.py]
CSVFILE = '/tmp/1.csv'
with open(f'{CSVFILE}', 'a') as CSV:
writer = csv.writer(CSV)
writer.writerow([12,34,56])
CSV.close()
cmd = (f'cat {CSVFILE}')
proc = subprocess.run(cmd, shell=True)
[test2.py]
CSVFILE = io.StringIO()
with open(f'{CSVFILE}', 'a') as CSV:
writer = csv.writer(CSV)
writer.writerow([12,34,56])
CSV.close()
cmd = (f'cat {CSVFILE}')
proc = subprocess.run(cmd, shell=True)
$ python3 test1.py
12,34,56
$ python3 test2.py
/bin/sh: 1: Syntax error: end of file unexpected
何を見落としてるんでしょうか…?
subprocess上で読み込むcsvファイルをStringIOにするとうまくいかず困っています。
以下2つのソースで、異なるのは1行目だけです。
[test1.py]
CSVFILE = '/tmp/1.csv'
with open(f'{CSVFILE}', 'a') as CSV:
writer = csv.writer(CSV)
writer.writerow([12,34,56])
CSV.close()
cmd = (f'cat {CSVFILE}')
proc = subprocess.run(cmd, shell=True)
[test2.py]
CSVFILE = io.StringIO()
with open(f'{CSVFILE}', 'a') as CSV:
writer = csv.writer(CSV)
writer.writerow([12,34,56])
CSV.close()
cmd = (f'cat {CSVFILE}')
proc = subprocess.run(cmd, shell=True)
$ python3 test1.py
12,34,56
$ python3 test2.py
/bin/sh: 1: Syntax error: end of file unexpected
何を見落としてるんでしょうか…?
317デフォルトの名無しさん
2021/07/08(木) 22:38:29.83ID:PyDOiOef 何をしたいかが全く分からないがとにかく
そのエラーは/bin/shが
cat <_io.StringIO object at 0x7f1360de01f0>
とかいう文字列を実行しようとして
>が出力のリダイレクトと解釈してその後にファイル名がないからエラーになってる
そのエラーは/bin/shが
cat <_io.StringIO object at 0x7f1360de01f0>
とかいう文字列を実行しようとして
>が出力のリダイレクトと解釈してその後にファイル名がないからエラーになってる
318316
2021/07/09(金) 07:49:00.55ID:6wIK8ZSE >>317
ありがとうございます!
例で実現したいことは、
$ python3 test2.py
12,34,56
この結果が出るにはどうしたら良いかが知りたいです。
シェルから見て実体のあるファイル名でないとダメってことですね。それはそうか。
一度ファイルシステムに書き出せば良いのでしょうが、それ以外の手はないでしょうか。
なお、例では長くなるのでcatコマンドに書き換えましたが、実際にやりたいことは
「pythonの前段処理結果をcsvに書き込み、そのcsvをgnuplotで読み込んで作図(を毎秒繰り返し)」というプログラムです。
処理結果の数字は毎秒積み上がっていくのと、プログラム終了時には実体のcsvファイルに書き出したいのとで
プログラム上では、StringIOを使ったcsvファイルとして処理したいです。
ありがとうございます!
例で実現したいことは、
$ python3 test2.py
12,34,56
この結果が出るにはどうしたら良いかが知りたいです。
シェルから見て実体のあるファイル名でないとダメってことですね。それはそうか。
一度ファイルシステムに書き出せば良いのでしょうが、それ以外の手はないでしょうか。
なお、例では長くなるのでcatコマンドに書き換えましたが、実際にやりたいことは
「pythonの前段処理結果をcsvに書き込み、そのcsvをgnuplotで読み込んで作図(を毎秒繰り返し)」というプログラムです。
処理結果の数字は毎秒積み上がっていくのと、プログラム終了時には実体のcsvファイルに書き出したいのとで
プログラム上では、StringIOを使ったcsvファイルとして処理したいです。
319デフォルトの名無しさん
2021/07/09(金) 08:12:26.61ID:2AR12dC9 >>318
>「pythonの前段処理結果をcsvに書き込み、そのcsvをgnuplotで読み込んで作図(を毎秒繰り返し)」
だったら質問の意味が尚更分からん
上記の処理を1プログラムでやりたいなら
Pythonで前処理⇒直接前処理結果をグラフ作画⇒作画後に必要に合わせてデータをcsv出力
っていう流れの方が良くね?
書き込んでから読み込む必要性が全く分からん
>「pythonの前段処理結果をcsvに書き込み、そのcsvをgnuplotで読み込んで作図(を毎秒繰り返し)」
だったら質問の意味が尚更分からん
上記の処理を1プログラムでやりたいなら
Pythonで前処理⇒直接前処理結果をグラフ作画⇒作画後に必要に合わせてデータをcsv出力
っていう流れの方が良くね?
書き込んでから読み込む必要性が全く分からん
320316
2021/07/09(金) 08:30:32.97ID:6wIK8ZSE >Pythonで前処理⇒直接前処理結果をグラフ作画
前処理では複数行複数列の数字(時間と温度です)を積み上げていくので、
その前処理結果のgnuplotへの渡し方としてcsvが適当かな、と思ったためです。
それとも、そもそもpythonスクリプトとしては前処理のアウトプットだけでexitし、
gnuplotはOS側シェルで普通に動かして前処理結果を使えば?という意味だとすれば、
今回はpythonスクリプト内でgnuplotを動かしたいです。
前処理では複数行複数列の数字(時間と温度です)を積み上げていくので、
その前処理結果のgnuplotへの渡し方としてcsvが適当かな、と思ったためです。
それとも、そもそもpythonスクリプトとしては前処理のアウトプットだけでexitし、
gnuplotはOS側シェルで普通に動かして前処理結果を使えば?という意味だとすれば、
今回はpythonスクリプト内でgnuplotを動かしたいです。
321デフォルトの名無しさん
2021/07/09(金) 08:51:54.66ID:sj/mydTS データが来るたびにファイルに追記していく(writeのあとにflush)
gnuplotは別に起動して毎秒ファイルを読み直す
と分けるのがよさそうに見える
gnuplotは別に起動して毎秒ファイルを読み直す
と分けるのがよさそうに見える
322デフォルトの名無しさん
2021/07/09(金) 09:04:12.08ID:2AR12dC9 >>320
>その前処理結果のgnuplotへの渡し方としてcsvが適当かな、と思ったためです
gunplotのマニュアル確認したけど、それなら素直にCSVファイルとして書き出さないと無理じゃないか?
大学か会社の都合か分からんけど
Pythonで素直に一連の動作をさせるなら
matplotlibの方がよっぽど楽だけど、それだとダメなんだよな
>その前処理結果のgnuplotへの渡し方としてcsvが適当かな、と思ったためです
gunplotのマニュアル確認したけど、それなら素直にCSVファイルとして書き出さないと無理じゃないか?
大学か会社の都合か分からんけど
Pythonで素直に一連の動作をさせるなら
matplotlibの方がよっぽど楽だけど、それだとダメなんだよな
323316
2021/07/09(金) 09:08:57.43ID:6wIK8ZSE もともとはシェルスクリプトでそんな感じでやっていて、
拾ってきたpythonで温度を測定し、結果を/tmp/temp.csvに書いてそれをgnuplotに読ませてました。
実はgnuplotが書いたグラフ(png)をまた(拾ってきた)pythonでOLEDに描画するという後処理もあって、
全工程で1秒ちょっとかかってました。
そこで、おっしゃ自前でpythonの1スクリプト化して高速化や!コピペマンから脱却するやでー!
という素人考えで今に至っています。
pythonの1スクリプトで、>>316に書いたtest1の方法(中間ファイル書く)でも
シェルスクリプト版の倍は速く動いてるので、あとはStringIOさえできれば…と思ってました。
何分素人なのでそもそもの考え方が間違ってるところもあるとは思いますが、
なぜそう思うに至ったか、という話でした。
拾ってきたpythonで温度を測定し、結果を/tmp/temp.csvに書いてそれをgnuplotに読ませてました。
実はgnuplotが書いたグラフ(png)をまた(拾ってきた)pythonでOLEDに描画するという後処理もあって、
全工程で1秒ちょっとかかってました。
そこで、おっしゃ自前でpythonの1スクリプト化して高速化や!コピペマンから脱却するやでー!
という素人考えで今に至っています。
pythonの1スクリプトで、>>316に書いたtest1の方法(中間ファイル書く)でも
シェルスクリプト版の倍は速く動いてるので、あとはStringIOさえできれば…と思ってました。
何分素人なのでそもそもの考え方が間違ってるところもあるとは思いますが、
なぜそう思うに至ったか、という話でした。
324316
2021/07/09(金) 09:14:25.66ID:6wIK8ZSE >>322
やっぱ実体としてのcsvファイルがないとダメですかね…ありがとうございます。
matplotlibはグラフ描くがgnuplotより難しそうだから見なかったことにしてました。
いい機会だから、もう一度調べてチャレンジしてみます。
やっぱ実体としてのcsvファイルがないとダメですかね…ありがとうございます。
matplotlibはグラフ描くがgnuplotより難しそうだから見なかったことにしてました。
いい機会だから、もう一度調べてチャレンジしてみます。
325デフォルトの名無しさん
2021/07/09(金) 09:20:09.59ID:2AR12dC9 >>323
すげえ面倒な方法で見える化やってるなwwwwww
慣れたらmatplotlibも描くの簡単だぞ、Pandasとかnumpyとの相性も良いし
ただ根本的な所で言えば、既存の見える化フローが結構ヤバイな
(グラフ画像をOLEDで映し出すっていうのが衝撃だわ)
抜本的に改善したいなら
Pythonでデータ処理⇒データベースに書き込み⇒データ系の見える化ツール
っていうのが理想形だな
TableauとかPower BIみたいなツール使うと見やすくなる(有償だけど)
無償ツールなら英語だけどGrafanaとかかな?
すげえ面倒な方法で見える化やってるなwwwwww
慣れたらmatplotlibも描くの簡単だぞ、Pandasとかnumpyとの相性も良いし
ただ根本的な所で言えば、既存の見える化フローが結構ヤバイな
(グラフ画像をOLEDで映し出すっていうのが衝撃だわ)
抜本的に改善したいなら
Pythonでデータ処理⇒データベースに書き込み⇒データ系の見える化ツール
っていうのが理想形だな
TableauとかPower BIみたいなツール使うと見やすくなる(有償だけど)
無償ツールなら英語だけどGrafanaとかかな?
326316
2021/07/09(金) 09:39:34.13ID:6wIK8ZSE >>325
今回はラズパイローカルでグラフを物理画面に即描画したいんですよね。
趣味の焙煎釜の温度変化を熱電対で計測し、手元でリアルタイムにグラフ描画したい、
そして記録をcsvに残したい、というのが目的です。
今は単機能の熱電対プローブでやっていて、温度変化が全くわからないので。
そこでまずはアリエクで300円しないOLEDを買ってラズパイに繋いで
gnuplotのpngをSPI接続のoledに送り出し続けるという形にしました。
ほんとはpythonからoledのライブラリとか使って直接描画とかもできるのかもしれませんが、
matplotlibともどもフタをしてました…
これがうまくいったら、OLEDやめてラズパイケース一体液晶にしても良いかなとは思っています。
GrafanaやPowerBIは別件で使ったこともあって、後分析には良いですよね。
今回はラズパイローカルでグラフを物理画面に即描画したいんですよね。
趣味の焙煎釜の温度変化を熱電対で計測し、手元でリアルタイムにグラフ描画したい、
そして記録をcsvに残したい、というのが目的です。
今は単機能の熱電対プローブでやっていて、温度変化が全くわからないので。
そこでまずはアリエクで300円しないOLEDを買ってラズパイに繋いで
gnuplotのpngをSPI接続のoledに送り出し続けるという形にしました。
ほんとはpythonからoledのライブラリとか使って直接描画とかもできるのかもしれませんが、
matplotlibともどもフタをしてました…
これがうまくいったら、OLEDやめてラズパイケース一体液晶にしても良いかなとは思っています。
GrafanaやPowerBIは別件で使ったこともあって、後分析には良いですよね。
327デフォルトの名無しさん
2021/07/09(金) 09:47:38.88ID:2AR12dC9 >>326
>今回はラズパイローカルでグラフを物理画面に即描画したいんですよね。
あーなるほど、そういう使い方もあるのか……俺の知識不足だったすまん
ただ結局グラフのpng画像を生成出来れば問題なさそうだし、matplotlibの差し替えが無難な気はするな
>今回はラズパイローカルでグラフを物理画面に即描画したいんですよね。
あーなるほど、そういう使い方もあるのか……俺の知識不足だったすまん
ただ結局グラフのpng画像を生成出来れば問題なさそうだし、matplotlibの差し替えが無難な気はするな
328デフォルトの名無しさん
2021/07/09(金) 23:58:06.76ID:dI9qqvw1 int型の足し算ではintクラスの持っている__add__メソッドが暗黙的に呼び出されていると思います。
ですが、
1.__add__(2)
のようにすると1+2が実行されず構文エラーになります。これは何故でしょうか?
str型の場合は問題なく実行され、以下の場合"aabb"が返ってきます。
"aa".__add__("bb")
ですが、
1.__add__(2)
のようにすると1+2が実行されず構文エラーになります。これは何故でしょうか?
str型の場合は問題なく実行され、以下の場合"aabb"が返ってきます。
"aa".__add__("bb")
329デフォルトの名無しさん
2021/07/10(土) 00:16:00.86ID:8UKJFvZ/ 詳しくないが 1. が小数になるのが原因だろう
(1).__add__(2)
とか
1..__add__(2)
ならエラーにならない
(1).__add__(2)
とか
1..__add__(2)
ならエラーにならない
330デフォルトの名無しさん
2021/07/10(土) 00:16:24.03ID:Rm9mfcPV 1.x(float)か1のメソッドなのか決まらないから
1.1.__add__とかはメソッドなのが分かるから通る
1.1.__add__とかはメソッドなのが分かるから通る
331デフォルトの名無しさん
2021/07/10(土) 00:59:10.02ID:MSe133Oz332デフォルトの名無しさん
2021/07/10(土) 10:33:46.40ID:chyfa+iT Python3.7で、pdbのtrace中とそれ以外でプログラムの挙動が異なるという問題に悩んでいます。
■現象
PySimpleGUIのpng画像をwhile True:で延々と更新し続ける処理が、
・pdb set_trace中は想定通りに画像が更新され続ける(ただし途中でpdbが止まる)
・traceを外すとそもそも画像が表示されない
■処理
"conv_image"を別関数で更新し続け、
このwindow更新行をwhileで回すだけの処理です。
window['-image-'].update(data=get_img_data(conv_image))
■pdbが止まる件
不思議なのは、通常pdbはデバッグ中に一度nで次に進むと、次行からはEnterだけでエラーのない限り進みますよね。
でもEnter押しっぱなしにしてると、この行でエラーの表示もなくpdbがいったん止まります。
nを押すと進み、画像が更新されます。
そこが問題のポイントなのかなと思いますが、それ以上の手がかりがありません。
■現象
PySimpleGUIのpng画像をwhile True:で延々と更新し続ける処理が、
・pdb set_trace中は想定通りに画像が更新され続ける(ただし途中でpdbが止まる)
・traceを外すとそもそも画像が表示されない
■処理
"conv_image"を別関数で更新し続け、
このwindow更新行をwhileで回すだけの処理です。
window['-image-'].update(data=get_img_data(conv_image))
■pdbが止まる件
不思議なのは、通常pdbはデバッグ中に一度nで次に進むと、次行からはEnterだけでエラーのない限り進みますよね。
でもEnter押しっぱなしにしてると、この行でエラーの表示もなくpdbがいったん止まります。
nを押すと進み、画像が更新されます。
そこが問題のポイントなのかなと思いますが、それ以上の手がかりがありません。
333デフォルトの名無しさん
2021/07/10(土) 10:43:05.45ID:lk+ovMEl >>332
再現できる最小限のコードを提示しましょう
再現できる最小限のコードを提示しましょう
334デフォルトの名無しさん
2021/07/10(土) 11:13:10.52ID:Ai3MLyk0 > get_img_data(conv_image)
この計算は一回でいいんじゃ
この計算は一回でいいんじゃ
335デフォルトの名無しさん
2021/07/10(土) 13:30:27.85ID:nAGZi/ZP GUIがメッセージを処理する時間がねえんじゃねえの
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「はにわルック」に激高、女子生徒の頭髪つかみズボン脱がせる 大阪府立高の教諭減給 [香味焙煎★]
- 財務省、介護職の賃上げに難色 処遇改善より“選ばれる職場”を強調 財政審 [おっさん友の会★]
- 森山自民幹事長「財源示すべき」 立憲の消費税減税巡り [蚤の市★]
- 【長野】運転男性の父、車の購入悔やむ 飯田技術専門校の自動車整備科の訓練生4人死亡の水門衝突事故 [ぐれ★]
- 永野芽郁の不倫報道火消しへ 永野の自宅マンションには「母親がいた」 永野、田中、キムの所属事務所発表★4 [ネギうどん★]
- 【TV】TBS、番組出演者によるアナウンサーの被害を追加報告「交際を迫られた」「身体接触の被害」「キスを求められ…」 [ぐれ★]
- 【実況】博衣こよりのえちえちholoRust🧪★2
- 【実況】博衣こよりのえちえちholoRust🧪
- な ん と 気 持 ち の い い
- 🏡うるさいばかもう立てなくていいよ轟経血ナプキンはじめあくありゅうむ祭り🏡
- 「ケンモメンが読むべき本100冊」のリストを作ろうと思う😤1984年、地下室の手記、安倍晋三物語…あとは何? [562983582]
- 【朗報】 Nintendo Switchで最高にエチエチなゲームが続々と発見される PSファンボーイよ、これが表現の自由だ!!! [303493227]