くだすれPython(超初心者用) その46【Ruby禁止】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/01/02(木) 15:56:54.08ID:ZUrZA+uS
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用うpろだに貼ってきてください。
  スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう

◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
  実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1571188632/
2デフォルトの名無しさん
垢版 |
2020/01/02(木) 15:59:02.97ID:ZUrZA+uS
>>> 0 ** 0
1

>>> 0 / 0
ZeroDivisionError: division by zero
3デフォルトの名無しさん
垢版 |
2020/01/02(木) 16:02:30.65ID:ZUrZA+uS
関連スレ

Pythonのお勉強 Part62
https://mevius.5ch.net/test/read.cgi/tech/1568531160/
4デフォルトの名無しさん
垢版 |
2020/01/02(木) 16:22:20.85ID:T0zeprk/
>>2

https://ja.wikipedia.org/wiki/0%E3%81%AE0%E4%B9%97
5デフォルトの名無しさん
垢版 |
2020/01/02(木) 16:36:42.09ID:yYKIO5sw
北海道のグラサンスーパーハゲザーはここにはこないのー?
6デフォルトの名無しさん
垢版 |
2020/01/02(木) 16:38:32.31ID:NYIo0K4b
久しぶりに貼っとくか
日本語の扱いで戸惑ったらこちらをどうぞ
ttp://speirs.blog17.えふしー2.com/blog-えんとり-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.はてna.ne.jp/kakurasan/20100330/p1

PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
2020/01/03(金) 17:34:21.06ID:o2JYS5/T
スマートに長さが決まってる配列に交互に数値をいれていくにはどうしたら良いですか?
自分でつくるとどうも長くなってしまいます
t=5
v=[]

for i in enumerate():
if i==t:
break
elif i%2==0:
v.append(1)
elif i%2==1:
v.append(4)

けっか
[1,4,1,4,1]
8デフォルトの名無しさん
垢版 |
2020/01/03(金) 17:46:09.32ID:9yXh1BHh
np.array([1,4]*3).flatten()[:5]
9デフォルトの名無しさん
垢版 |
2020/01/03(金) 17:47:21.41ID:9yXh1BHh
([1,4]*3)[:5]
でいけた
2020/01/03(金) 18:52:28.14ID:b0yxo6PI
>>9
ありごとうございます
117
垢版 |
2020/01/03(金) 20:12:56.57ID:o2JYS5/T
>>9
一行だけとは超スマートです!!
ありがとうございます!!
12デフォルトの名無しさん
垢版 |
2020/01/03(金) 20:34:33.45ID:JUB4cBO3
>>7
ある言語では
v =: 5 $ 1 4
13デフォルトの名無しさん
垢版 |
2020/01/03(金) 20:38:57.19ID:EoKPJcjT
14デフォルトの名無しさん
垢版 |
2020/01/03(金) 20:42:39.36ID:1QSwQP8U
ツッコミ待ちか
2020/01/03(金) 21:47:45.01ID:cSDCrnP1
>>7
from itertools import islice, cycle
def take(n, iterable):
____return list(islice(iterable, 0, n))

take(5, cycle([1,4]))
2020/01/03(金) 22:08:54.32ID:3PIY9GXm
pyinstallerがインストールできません。
2020/01/03(金) 22:10:03.64ID:3PIY9GXm
コマンドプロンプトを起動
pipでPyInstallerをインストール
$ pip install pyinstaller

って書いてあるけど、windowsのコマンドプロンプトっていうことでしょうか?
やってみたけどエラーが出てインストールできません。
18デフォルトの名無しさん
垢版 |
2020/01/03(金) 22:19:34.01ID:3C9uWk1w
>>17
エラーの内容をそのままでいいので貼り付けてください
19デフォルトの名無しさん
垢版 |
2020/01/03(金) 22:27:22.75ID:3C9uWk1w
win10, Python3.7では
pip install pyinstallerでエラーはでなかったです
2020/01/03(金) 22:42:46.43ID:3PIY9GXm
すいません。

C:\WINDOWS\system32>pip install pyinstaller
'pip' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

というメッセージが出ています。
21デフォルトの名無しさん
垢版 |
2020/01/03(金) 23:04:32.83ID:3C9uWk1w
>>20
%PATH%にpip.exeの場所を追加できればとりあえずは解決できると思います
2020/01/03(金) 23:27:59.92ID:3PIY9GXm
>>21
ファイルのある場所にパスを通すということでしょうか?
調べてみたのですが、やり方がよく分からずすいません。
2020/01/03(金) 23:29:36.06ID:CE0ocwaC
「Windows10 環境変数」でググれ
2020/01/04(土) 00:00:59.89ID:8qieO/zq
>>22
もう一度インストーラーを起動して、
関連付けのチェックを入れればいい
2020/01/04(土) 01:33:24.48ID:H/phePoP
キーボードの左下にあるWindowsキー(窓が刻印されたキー)と右上にあるPauseキーを同時に押す
左側の「システム詳細設定」をクリック
下のほうにある「環境変数(N)...」をクリック
「〜のユーザー環境変数」にある「PATH」をダブルクリック
「環境変数名の編集」画面がでるので右上の「新規(N)」をクリック
コマンドプロンプトでwhereコマンドでpipコマンドがある場所を調べて追加(例:C:\Users\xxx\xxx\>where pip)
refreshenvコマンドを実行(例:C:\Users\xxx\xxx\>refreshenv)
>pip --version


Windows 10でPath環境変数を設定/編集する
https://www.atmarkit.co.jp/ait/articles/1805/11/news035.html
Cコンパイラのパスを環境変数に登録する
https://www.youtube.com/watch?v=MQLQHGT-imM
Python 環境変数設定
https://www.youtube.com/watch?v=Mw-eymuD6o0
26その他
垢版 |
2020/01/04(土) 01:43:48.94ID:H/phePoP
PC をバックアップおよび復元する
https://support.microsoft.com/ja-jp/help/17127/windows-back-up-restore
コマンドでWindowsアプリを楽々管理「Chocolatey」
https://www.atmarkit.co.jp/ait/articles/1806/22/news026.html
Qiita > chocolatey
https://qiita.com/tags/chocolatey
2020/01/04(土) 02:20:50.51ID:H/phePoP
プログラム技術(tech)板の過去ログ検索
https://www.google.it/search?hl=jp&;q=site:2ch.net/test/read.cgi/tech/+検索語句
https://www.google.it/search?hl=jp&;q=site:5ch.net/test/read.cgi/tech/+検索語句

https://duckduckgo.com/bang
https://duckduckgo.com/bang_lite.html
https://duckduckgo.com/bang?c=Tech&;sc=Languages+(Python)
!so python
!hatebu python
!hn python
!infoq python
!qiita python
!quora python
!amjp python
!tw python
!hashtag python
!5ch python
!r python
!slideshare python
!stackshare python
!rstc python
http://rosettacode.org/wiki/Category:Programming_Languages
2020/01/04(土) 02:24:14.73ID:H/phePoP
https://duckduckgo.com/bang?q=google
!yt python
!papers python
!gn python
!gnuk python
!gnnl Guido van Rossum
29デフォルトの名無しさん
垢版 |
2020/01/04(土) 05:58:50.34ID:UVp63hNq
>>7
[4 ** (x % 2) for x in range(5)]
2020/01/04(土) 09:09:49.45ID:FBAmMQ8N
zip関数って無かったっけ?
2020/01/04(土) 09:24:51.99ID:B5eyFP88
>>7
[[1, 4][x % 2] for x in range(5)]
2020/01/04(土) 10:35:07.19ID:d9ICAhD8
>>29が今のとこ一番分かりやすい
2020/01/04(土) 10:54:36.43ID:GvN9lrG0
windows のコマンドプロンプトで python を動かすのは
あまりお勧めできないけどな
苦労が多すぎて、得るものが少ない
2020/01/04(土) 11:41:40.61ID:hpecUN4N
そのココロは?
- windowsでpythonやるならコマンドプロンプトよりも××
- windowsでやるならpythonよりも××
- pythonやるならwindowsよりもlinux
35デフォルトの名無しさん
垢版 |
2020/01/04(土) 13:00:02.96ID:trUJS7QS
>>30
ちょっとひねらないと嬉しい結果にならんな
>>> list(zip([1,1,1],[4,4,4]))
[(1, 4), (1, 4), (1, 4)]
36デフォルトの名無しさん
垢版 |
2020/01/04(土) 13:10:53.70ID:trUJS7QS
>>33-34
横からだが
WSL使ってる人 → そのままWSLで
WSL使ってない人 → git for windows 入れてそれと一緒に入る git bash お薦め
2020/01/04(土) 13:20:22.82ID:xFWRGYjR
>>35
>>> from functools import reduce
>>> from operator import add
>>> reduce(add, zip([1,1,1],[4,4,4]))[:5]
(1, 4, 1, 4, 1)
38デフォルトの名無しさん
垢版 |
2020/01/04(土) 13:31:07.19ID:trUJS7QS
>>33 >>36
tdm-gcc (x64) 入れると
MinGW Command Prompt っていうのが付いてくるのでそっち使ってる
2020/01/04(土) 13:57:37.93ID:hpecUN4N
自分の場合、ふだんnodeとかはgit bashで使ってるけどpythonだけはコマンドプロンプト使ってた。
venv使ってるのとエクスプローラからパスをdrag&dropする使い方が多いんで。
コマンドプロンプト自体がお勧めできないというのは置いておいて、特にpython使うのに
向いていないとは感じないがな。
2020/01/04(土) 18:21:36.62ID:k4tVVk2l
どうしてcmdがおすすめできない訳?
2020/01/04(土) 20:01:48.09ID:Q3FXXgpV
10年位前のpython2.7の頃に比べれば windows10 python3.8はものすごく使い
やすくなっている
2020/01/04(土) 20:03:30.69ID:Q3FXXgpV
wsl出てからpythonはwslだったけど、個人的にちょっと開発するなら
windows10で十分
43デフォルトの名無しさん
垢版 |
2020/01/05(日) 00:25:24.67ID:cNQ0xZ86
forの中のif 文がよく似てる感じなのですが
まとめれないでしょうか?
階層が深くて分かりにくくなってしまいました

*マークは字下げです

plane_angle = []
for i , h in enumerate(ho):
****if i >= len(ho) - 1:
********if ho[0].dot(ho[i])<-1:
************ang=0
********else:
************ang=acos(ho[0].dot(ho[i]))
************if ho[i].cross(ho[0]).z<0:
****************ang=pi+ang
************else:
****************ang=pi-ang
****else:
********if ho[i+1].dot(ho[i])<-1:
************ang = 0
********else:
************ang = acos(ho[i+1].dot(ho[i]))
************if ho[i].cross(ho[i+1]).z<0:
****************ang = pi + ang
************else:
****************ang = pi-ang
****plane_angle.append(ang)
2020/01/05(日) 00:52:34.25ID:NzdiaSgk
>>43
hoが何でどういう風にデータが入ってるのか教えてくれ
45デフォルトの名無しさん
垢版 |
2020/01/05(日) 01:10:24.54ID:cNQ0xZ86
>>44
hoはx,y,z座標を
normalize()させた値が複数個入ってます
こんな感じです
入ってる数と座標はその時によって違います
[Vector((0.9713584184646606, -0.23761920630931854, 0.0)), Vector((0.2879558205604553, 0.9576436281204224, 0.0)), Vector((-0.8237842321395874, 0.0, 0.5669034123420715)), Vector((-0.9037604331970215, -0.36954042315483093, -0.21600256860256195))]
2020/01/05(日) 01:19:33.03ID:MK0cWPLh
超初心者です。Pythonのscrapyについて教えていただきたいです。
一つのspiderを作って、crawlすることはできたのですが、
(scrapy crawl xxxxx -o sample_data.csv)
yyyyy.pyとzzzzz.pyというspiderを同じディレクトリに作成し、
(x,y,zは別ドメイン別サイトで同じような情報が掲載されている。
 もちろん構造が違うためxpathはサイトごとに違う。)
連続で実行する方法があったら知りたいです。

ググったのですが、scrapyでそういうことができるかどうか、
わからなかったので、質問させていただきました。
spiderの.pyのみx,y,zと複数作って管理保守を楽にしたいです。

xxxxx.pyに複数のclassを書いて、上から順に実行していくという方法に
なるのでしょうか。

わかりづらくて申し訳ないです。ご教示よろしくお願いいたします。
2020/01/05(日) 01:32:31.46ID:BPHXVrhY
Ruby なら、`〜` でコマンドを実行できる

`コマンド 1`
`コマンド 2`
`コマンド 3`

scrapy はコマンド名か?
それなら、下のようにできる

`scrapy 〜`
`scrapy 〜`
`scrapy 〜`

コマンドを呼ぶぐらいなら、Ruby以外にも、シェルスクリプト・PowerShell でも出来る
4827
垢版 |
2020/01/05(日) 02:09:21.37ID:k//yuqW0
!hackster python
https://www.twitter.com/hacksterio
https://www.youtube.com/hacksterio
https://www.hackster.io/channels/topics

Python on Hardware
Power your homes and bots with Python!
https://www.hackster.io/python-on-hardware/projects
https://twitter.com/5chan_nel (5ch newer account)
2020/01/05(日) 03:43:21.88ID:y+bEWN5I
>>43
要は2つの隣接する単位ベクトルho[i]とho[i+1]の演算を行いたいが、iが末尾の時はi+1の代わりに0番目を使いたいということか?
それならまずi+1または0を変数jに入れて、ho[i]とho[j]の処理だけを書けば良さそう。
2020/01/05(日) 04:26:51.43ID:NzdiaSgk
>>43
def foo(v1, v2):
____if v1.cross(v2).z < 0:
________return pi + acos(v2.dot(v1))
____else:
________return pi - acos(v2.dot(v1))

plane_angle = [0 if v2.dot(v1) < -1 else foo(v1, v2) for v1, v2 in zip(ho, ho[1:] + ho[:1])]
5143
垢版 |
2020/01/05(日) 12:09:19.59ID:cNQ0xZ86
>>50
びっくりするほど短くなるんですね
ありがとうございます
助かりました
2020/01/05(日) 12:25:51.05ID:Q3EjVbhD
>>51
そもそも命名規則とか意識した方がいい
自分でコード読めなくなるぞ
2020/01/05(日) 13:21:59.71ID:t/h3kgdg
df = pd.read_csv(file)
print(df.query('class > 1'))

例外が発生しました: SyntaxError
Python keyword not valid identifier in numexpr query (<unknown>, line 1)
File "L:\c#\プロジェクト再開\UnsRehaPlanR21\UnsReha\bin\Debug\setData.py", line 27, in <module>
print(df.query('class > 1'))

これなにが間違ってるのでしょう?
54デフォルトの名無しさん
垢版 |
2020/01/05(日) 13:22:23.53ID:qO+R3XJX
長さが違うものでもzipできるの?
2020/01/05(日) 14:57:09.36ID:NzdiaSgk
>>53
>Python keyword not valid identifier in numexpr query
Pythonのキーワードはnumexprクエリにおいて有効な識別子ではありません

“class”はPythonのキーワード
5643
垢版 |
2020/01/05(日) 15:49:37.35ID:cNQ0xZ86
>>52
はい、命名規則つけるようにします。
ほとんど後でメンテナンス不可能になって投げ捨てる事になってしまうので
ちゃんとやることにします
2020/01/05(日) 22:53:56.79ID:t/h3kgdg
>>55
あああ〜、、、
ありがとうございます。

結構悩んだんだけど、予約語でしたか、、、
2020/01/05(日) 23:08:33.53ID:CBy/ZWII
seleniumのwebdriverwaitが100%タイムアウト返してくるんですけど、これ考えられる原因あります?
waitの時間伸ばすしか対策ないんでしょうか?
2020/01/05(日) 23:58:22.41ID:NzdiaSgk
>>58
ImplicitWaitしてて
検索条件が間違ってる可能性がある

デバッガでブレイクポイント設定してステップ実行で試せば
本当にタイムアウトしてるのか条件が間違ってるのか切り分けられる
2020/01/06(月) 00:08:19.56ID:VrovJO3c
>>59
具体的には
https://colab.research.google.com/drive/1wT6ZpKLNr24R5qEfH-0jotifhBVrfA9S
の57行目でタイムアウト返ってくるんですよね…
この場合だとec.element_to_be_clickableの中身が間違ってるんでしょうか…
2020/01/06(月) 00:28:29.42ID:zQo0hVCB
データフレームに含まれるNoneデータの個数を数えようとしています

df_bool = (df_combine == None)               @
number_of_outliers = df_bool.sum()             A

でいけるかと思ったんですが、dfにNoneデータに対して@はFalseの判定でした。
どうやって数えればいいんでしょうか?
2020/01/06(月) 01:16:53.52ID:78RinjQr
>>60
エラーが返される57行目の前に
Python3.7以降ならbreakpoint()と書けばブレイクポイントが設定されて
標準のデバッガが起動されるのでnとかsでステップ実行したり任意のコードを実行したりできる
IPythonのデバッガを使いたければimport ipdbして
ブレイクポイント設定したいところでipdb.set_trace(context=10)

人の書いたコードを丸っとコピペするのは別にいいけど
間違ってるかどうかを自分で確かめられないようなら潔く使うのは諦めたほうがいい
2020/01/06(月) 01:17:07.66ID:78RinjQr
>>61
df.isna().sum()
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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