TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
Androidプログラミング質問スレ revision49
次世代言語17 Go Rust Kotlin TypeScript Julia
【Intel】OpenCV総合スレ 5画素目【画像処理】
C++相談室 part151
【.NET】WCF〜Windows通信基盤技術【通信】
ますたーのお勉強中の独り言スレ
多言語でforループを列挙していくスレ
Google App Engine for java
Perl初心者スレ(マジレス回答)
Perlについて

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


1 :2020/01/02 〜 最終レス :2020/02/20
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

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

★Pythonのソースコードはそのまま2ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用う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.2ch.sc/test/read.cgi/tech/1571188632/

2 :
>>> 0 ** 0
1

>>> 0 / 0
ZeroDivisionError: division by zero

3 :
関連スレ

Pythonのお勉強 Part62
https://mevius.2ch.sc/test/read.cgi/tech/1568531160/

4 :
>>2

https://ja.wikipedia.org/wiki/0%E3%81%AE0%E4%B9%97

5 :
北海道のグラサンスーパーハゲザーはここにはこないのー?

6 :
久しぶりに貼っとくか
日本語の扱いで戸惑ったらこちらをどうぞ
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

7 :
スマートに長さが決まってる配列に交互に数値をいれていくにはどうしたら良いですか?
自分でつくるとどうも長くなってしまいます
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 :
np.array([1,4]*3).flatten()[:5]

9 :
([1,4]*3)[:5]
でいけた

10 :
>>9
ありごとうございます

11 :
>>9
一行だけとは超スマートです!!
ありがとうございます!!

12 :
>>7
ある言語では
v =: 5 $ 1 4

13 :


14 :
ツッコミ待ちか

15 :
>>7
from itertools import islice, cycle
def take(n, iterable):
____return list(islice(iterable, 0, n))

take(5, cycle([1,4]))

16 :
pyinstallerがインストールできません。

17 :
コマンドプロンプトを起動
pipでPyInstallerをインストール
$ pip install pyinstaller

って書いてあるけど、windowsのコマンドプロンプトっていうことでしょうか?
やってみたけどエラーが出てインストールできません。

18 :
>>17
エラーの内容をそのままでいいので貼り付けてください

19 :
win10, Python3.7では
pip install pyinstallerでエラーはでなかったです

20 :
すいません。

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

というメッセージが出ています。

21 :
>>20
%PATH%にpip.exeの場所を追加できればとりあえずは解決できると思います

22 :
>>21
ファイルのある場所にパスを通すということでしょうか?
調べてみたのですが、やり方がよく分からずすいません。

23 :
「Windows10 環境変数」でググれ

24 :
>>22
もう一度インストーラーを起動して、
関連付けのチェックを入れればいい

25 :
キーボードの左下にある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 :
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

27 :
プログラム技術(tech)板の過去ログ検索
https://www.google.it/search?hl=jp&q=site:2ch.sc/test/read.cgi/tech/+検索語句
https://www.google.it/search?hl=jp&q=site:2ch.sc/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
!2ch python
!r python
!slideshare python
!stackshare python
!rstc python
http://rosettacode.org/wiki/Category:Programming_Languages

28 :
https://duckduckgo.com/bang?q=google
!yt python
!papers python
!gn python
!gnuk python
!gnnl Guido van Rossum

29 :
>>7
[4 ** (x % 2) for x in range(5)]

30 :
zip関数って無かったっけ?

31 :
>>7
[[1, 4][x % 2] for x in range(5)]

32 :
>>29が今のとこ一番分かりやすい

33 :
windows のコマンドプロンプトで python を動かすのは
あまりお勧めできないけどな
苦労が多すぎて、得るものが少ない

34 :
そのココロは?
- windowsでpythonやるならコマンドプロンプトよりも××
- windowsでやるならpythonよりも××
- pythonやるならwindowsよりもlinux

35 :
>>30
ちょっとひねらないと嬉しい結果にならんな
>>> list(zip([1,1,1],[4,4,4]))
[(1, 4), (1, 4), (1, 4)]

36 :
>>33-34
横からだが
WSL使ってる人 → そのままWSLで
WSL使ってない人 → git for windows 入れてそれと一緒に入る git bash お薦め

37 :
>>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 :
>>33 >>36
tdm-gcc (x64) 入れると
MinGW Command Prompt っていうのが付いてくるのでそっち使ってる

39 :
自分の場合、ふだんnodeとかはgit bashで使ってるけどpythonだけはコマンドプロンプト使ってた。
venv使ってるのとエクスプローラからパスをdrag&dropする使い方が多いんで。
コマンドプロンプト自体がお勧めできないというのは置いておいて、特にpython使うのに
向いていないとは感じないがな。

40 :
どうしてcmdがおすすめできない訳?

41 :
10年位前のpython2.7の頃に比べれば windows10 python3.8はものすごく使い
やすくなっている

42 :
wsl出てからpythonはwslだったけど、個人的にちょっと開発するなら
windows10で十分

43 :
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)

44 :
>>43
hoが何でどういう風にデータが入ってるのか教えてくれ

45 :
>>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))]

46 :
超初心者です。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を書いて、上から順に実行していくという方法に
なるのでしょうか。

わかりづらくて申し訳ないです。ご教示よろしくお願いいたします。

47 :
Ruby なら、`〜` でコマンドを実行できる

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

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

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

コマンドを呼ぶぐらいなら、Ruby以外にも、シェルスクリプト・PowerShell でも出来る

48 :
!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
(deleted an unsolicited ad)

49 :
>>43
要は2つの隣接する単位ベクトルho[i]とho[i+1]の演算を行いたいが、iが末尾の時はi+1の代わりに0番目を使いたいということか?
それならまずi+1または0を変数jに入れて、ho[i]とho[j]の処理だけを書けば良さそう。

50 :
>>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])]

51 :
>>50
びっくりするほど短くなるんですね
ありがとうございます
助かりました

52 :
>>51
そもそも命名規則とか意識した方がいい
自分でコード読めなくなるぞ

53 :
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 :
長さが違うものでもzipできるの?

55 :
>>53
>Python keyword not valid identifier in numexpr query
Pythonのキーワードはnumexprクエリにおいて有効な識別子ではありません

“class”はPythonのキーワード

56 :
>>52
はい、命名規則つけるようにします。
ほとんど後でメンテナンス不可能になって投げ捨てる事になってしまうので
ちゃんとやることにします

57 :
>>55
あああ〜、、、
ありがとうございます。

結構悩んだんだけど、予約語でしたか、、、

58 :
seleniumのwebdriverwaitが100%タイムアウト返してくるんですけど、これ考えられる原因あります?
waitの時間伸ばすしか対策ないんでしょうか?

59 :
>>58
ImplicitWaitしてて
検索条件が間違ってる可能性がある

デバッガでブレイクポイント設定してステップ実行で試せば
本当にタイムアウトしてるのか条件が間違ってるのか切り分けられる

60 :
>>59
具体的には
https://colab.research.google.com/drive/1wT6ZpKLNr24R5qEfH-0jotifhBVrfA9S
の57行目でタイムアウト返ってくるんですよね…
この場合だとec.element_to_be_clickableの中身が間違ってるんでしょうか…

61 :
データフレームに含まれるNoneデータの個数を数えようとしています

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

でいけるかと思ったんですが、dfにNoneデータに対して@はFalseの判定でした。
どうやって数えればいいんでしょうか?

62 :
>>60
エラーが返される57行目の前に
Python3.7以降ならbreakpoint()と書けばブレイクポイントが設定されて
標準のデバッガが起動されるのでnとかsでステップ実行したり任意のコードを実行したりできる
IPythonのデバッガを使いたければimport ipdbして
ブレイクポイント設定したいところでipdb.set_trace(context=10)
人の書いたコードを丸っとコピペするのは別にいいけど
間違ってるかどうかを自分で確かめられないようなら潔く使うのは諦めたほうがいい

63 :
>>61
df.isna().sum()

64 :
>>63
ありがとう。助かりました。

65 :
すいません…結局わかりませんでした…
とりあえずelement_to_be_clickableの中身でエラー起こしてるみたいですが…
構文は間違ってないですし、IDの名前も間違ってないんですよね…

66 :
>>60
# ランタイムクリック
select_dropdown = WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID,"runtime-menu-button")))

runtime-menu-button のid が存在するかどうか、ブラウザのF12 開発者ツールで確認すれば?
存在しなければ、wait time を、20 秒から、200秒ぐらいにすれば?

67 :
>>66
runtime-menu-buttonが存在するところは確認済です
一応昨日180秒でやりましたが結果は変わりませんでした

68 :
600 〜 1,800秒で、やってみれば?

自分が待てる限界時間まで、やってみれば?

69 :
俺も以前開発ツールで見えているのにクリック出来なくてドハマりした
一度そのエレメントが見えるところまでまでスクロールすればイケルと思う
理由は分からないw

面倒だから全スクロール
execute_script("window.scrollTo(0, document.body.scrollHeight);")

70 :
headlessじゃなくブラウザを画面表示してデバッガでステップ実行すれば
本当にタイムアウト時間内に要素が求める状態になってないのか
それとも求める状態になってるにもかかわらず取得できないのか一発で分かるやろ
後者ならステップ実行時にto_be_clickableじゃなく
単にfindで要素取得できるかどうかとか
取得できるならそれをclick()できるかどうかとか
正攻法で切り分けしていけばいい

71 :
他の要素の下になってクリックできないってこともある。

72 :
見えてすら無いに一票

73 :
pandasのread_excelでシート読むときに、セル内の関数を読み書きするのはどうしたらいいんでしょうか
具体的には=いまセルにtext(today()+1,"mmdd")が入ってて、read_excelすると1008が取得中できるのですが
today()+nと操作したいです

74 :
もちろんできないのであきらめる

75 :
OpenPyXLなら式操作できるかな
xlrdでもいいのかも知れないが
"Please use openpyxl where you can..."
なんてわざわざ書いてあるライブラリ使わんでもえやろ

76 :
>>73
1. xlwingsやCOM使ってExcelを開いて再計算させてからpandas使う
2. Excelの計算式は捨ててpython側で計算式を定義する
3. openpyxlで計算式をパースしてpythonで計算し直す (茨の道)

77 :
seabornでlmplot使っているのですが、DFのラベルでlatency(msec)や[msec]として単位をグラフの軸ラベルを記載しようとするとエラーになります。

78 :
多分[]や()が予約後だからかとおもいますが、DFのラベル名に単位を記載しようとするときはどのようにするべきなのでしょうか?

79 :
>>77
角括弧や括弧があってもクウォートして文字列として扱われてれば問題無いはずなので
エラー内容とそのエラーが再現する最小限のコードを公開したほうがいい

80 :
latency_msec
1700
0
0
0
0
0
0
0
0

for i, latency in enumerate(df['latency_msec']):
print(i, latency)

81 :
結果
0 1700
1 0
2 0
3 0
4 0
0 0
1 0
2 0
3 0

なんでインデックスが4まで行くと0になってしまうのでしょう?
アホみたいですが、教えて下さい。

82 :
>>81
すいません。
自己解決しました。
関数の呼び出し先の問題でした。
疲れ切ってます。 org

83 :
連投すいません

x latency_msec
1 1700
2 1701
3 1702
4 1703
5 1704
6 1705
7 1706
8 1707
9 1708

df = input_data()
print(df.iloc[1][1])

とすると

ValueError: Can only index by location with a [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array]

となります。
なぜでしょう・・・。

Pandasよくわからない・・・。

84 :
df.iloc[1,1]

85 :
>>83
すいません。
無視してください、また変なこと聞きました。
もう無理だ・・・寝ます・・・。

86 :
q75, q25 = np.percentile(col, [75 ,25])
colが整数だけのときは正しい値が入るのですが、colに少数が入ると0.0になってしまいます
np.percentileって少数には使えないのでしょうか?

87 :
>>86
a = np.array([[10.4, 7.8, 4.5], [3, 2, 1]])
np.percentile(a, [72,25])
#=> array([6.48, 2.25])
問題なさそうだけど?

88 :
>>87
あれ、本当ですね
ここが原因と思ってたら何が原因か分からなくなってきた

89 :
四分位範囲で外れ値の値だったばあいフラグを立てる関数を作ったのですが、
なぜかデータが整数では正常動作するのに、少数が含まれているとフラグで1を立てても0になります。
かれこれ数時間悪戦苦闘しているのですが、原因わからず・・・。
どこかにコードを書き込んで質問できればいいのですが、そのような掲示板ありませんでしょうか?
本当に初心者ですいません。

90 :
つideone

91 :
>>90
ありがとうございます。

92 :
https://ideone.com/Fl1R9z

40行目の

df.iloc[i][output_column] = 1

が怪しいとおもうのですが、取り込んだdfが整数だけのときは1が書き込めているのですが、
dfに小数が含まれているときは書き込めていないようです。
なぜなのでしょう・・・・・。

93 :
>>92
↓この警告出てるよね? リンク先みて警告を消そう
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy

とりあえず df.loc[i, output_column] = 1 にすれば動くけど
普通はenumerateとかせずにapply使う場面だと思う
df[output_column] = df[chk_column].apply(is_outlier)

94 :
df['price_edited'] = df['price'].apply(lambda a: int(a[1:]) if a.startswith('$') else 0)

95 :
>>67
クリックできるようになるまで待つのをやめて、ボタンが現れるのに十分と思われる時間待った後で普通にクリックしてみる。
そうするとなんでクリックできないのか分かるかもしれない。

96 :
map, filter, reduceとか色々あるけど、pythonでこの辺って使う機会ある?

97 :
ほとんどない
リスト内包表記の方が可読性高いし、複雑な処理にはどうせpandasとか使うし

98 :
pythonに限らずどの言語でも用意されてるがどの言語でも使わない

99 :
mapは、リスト中の数字と数値を数字に統一して、ソートできるように再マッピングするときに使うことはある

100 :
>>98
じゃあどうするの?
for文?


100〜のスレッドの続きを読む
Java入門・初心者質問スレ Part.10
MVVMについて語ろう
【モダン推奨】Perlについての質問箱 50箱目
Visual Studio Code / VSCode Part3
設計思想/ソフトウェア工学(UML, デザパタetc)
Ruby 初心者スレッド Part 66
スレを勃てるまでもないC/C++の質問はここで 25 [隔離病棟]
プログラムに詳しくなりたい
Androidプログラミング質問スレ revision53
Visual Studio 2017 Part5
--------------------
どうでいいことを暴露するスレ
【AM1242/FM93】ニッポン放送3874【JOLF】
【朗報】サムスンGalaxy、なぜか突然バカ売れ 株価急上昇 一体なぜ… [166962459]
昔のヅカを語ろう〜平成編〜107
【Peach】ピーチ・アビエーションMM89便【楽桃】
【IDなし】SF系アニメを語る 第102話
ダノンプレミアムって2000まではもつって評価でいいの?
Nikon FM、FM2、newFM2、FM3A、FE、FE2、FA統合スレッド25
【社会】在日コリアン、日本市民を招いて新年会 総聯伊賀支部[2/10]
日向坂46専用 深イイ話
【TAITO】テトテ×コネクト Part1【新作】
ディープインパクト 〜The 502nd impact〜
イチバンラジコン
ポケモンの家あつまる? 第208回
誰だよこのババアwwwww
【意外に】炭酸水+○○=(゚Д゚)ウマー【ウマー】
英語ペラペラだけど英語話す機会がいっさいない件
この人は無理だと思った瞬間144
【ラジオ・タバコ・犬】 山での迷惑行為 12
【婚活】☆エキサイト恋愛結婚☆【連投禁止】
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼