当スレに★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/
くだすれPython(超初心者用) その46【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/01/02(木) 15:56:54.08ID:ZUrZA+uS2020/01/04(土) 00:00:59.89ID:8qieO/zq
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
左側の「システム詳細設定」をクリック
下のほうにある「環境変数(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
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
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
!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)]
[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)]
[[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
- windowsでpythonやるならコマンドプロンプトよりも××
- windowsでやるならpythonよりも××
- pythonやるならwindowsよりもlinux
35デフォルトの名無しさん
2020/01/04(土) 13:00:02.96ID:trUJS7QS36デフォルトの名無しさん
2020/01/04(土) 13:10:53.70ID:trUJS7QS2020/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)
>>> 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:trUJS7QS2020/01/04(土) 13:57:37.93ID:hpecUN4N
自分の場合、ふだんnodeとかはgit bashで使ってるけどpythonだけはコマンドプロンプト使ってた。
venv使ってるのとエクスプローラからパスをdrag&dropする使い方が多いんで。
コマンドプロンプト自体がお勧めできないというのは置いておいて、特に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で十分
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)
まとめれないでしょうか?
階層が深くて分かりにくくなってしまいました
*マークは字下げです
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が何でどういう風にデータが入ってるのか教えてくれ
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))]
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を書いて、上から順に実行していくという方法に
なるのでしょうか。
わかりづらくて申し訳ないです。ご教示よろしくお願いいたします。
一つの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 でも出来る
`コマンド 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)
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]の処理だけを書けば良さそう。
要は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])]
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])]
2020/01/05(日) 12:25:51.05ID:Q3EjVbhD
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'))
これなにが間違ってるのでしょう?
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のキーワード
>Python keyword not valid identifier in numexpr query
Pythonのキーワードはnumexprクエリにおいて有効な識別子ではありません
“class”はPythonのキーワード
5643
2020/01/05(日) 15:49:37.35ID:cNQ0xZ862020/01/05(日) 22:53:56.79ID:t/h3kgdg
2020/01/05(日) 23:08:33.53ID:CBy/ZWII
seleniumのwebdriverwaitが100%タイムアウト返してくるんですけど、これ考えられる原因あります?
waitの時間伸ばすしか対策ないんでしょうか?
waitの時間伸ばすしか対策ないんでしょうか?
2020/01/05(日) 23:58:22.41ID:NzdiaSgk
2020/01/06(月) 00:08:19.56ID:VrovJO3c
>>59
具体的には
https://colab.research.google.com/drive/1wT6ZpKLNr24R5qEfH-0jotifhBVrfA9S
の57行目でタイムアウト返ってくるんですよね…
この場合だとec.element_to_be_clickableの中身が間違ってるんでしょうか…
具体的には
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の判定でした。
どうやって数えればいいんでしょうか?
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)
人の書いたコードを丸っとコピペするのは別にいいけど
間違ってるかどうかを自分で確かめられないようなら潔く使うのは諦めたほうがいい
エラーが返される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()
df.isna().sum()
2020/01/06(月) 10:06:33.60ID:bAE45PWZ
>>63
ありがとう。助かりました。
ありがとう。助かりました。
2020/01/06(月) 23:59:51.35ID:VrovJO3c
すいません…結局わかりませんでした…
とりあえずelement_to_be_clickableの中身でエラー起こしてるみたいですが…
構文は間違ってないですし、IDの名前も間違ってないんですよね…
とりあえずelement_to_be_clickableの中身でエラー起こしてるみたいですが…
構文は間違ってないですし、IDの名前も間違ってないんですよね…
66デフォルトの名無しさん
2020/01/07(火) 00:20:44.83ID:ueOqy5pf >>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秒ぐらいにすれば?
# ランタイムクリック
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秒ぐらいにすれば?
2020/01/07(火) 00:29:10.58ID:PWzkvPR1
6866
2020/01/07(火) 02:08:13.14ID:ueOqy5pf 600 〜 1,800秒で、やってみれば?
自分が待てる限界時間まで、やってみれば?
自分が待てる限界時間まで、やってみれば?
2020/01/07(火) 02:39:18.92ID:sZs6mHzs
俺も以前開発ツールで見えているのにクリック出来なくてドハマりした
一度そのエレメントが見えるところまでまでスクロールすればイケルと思う
理由は分からないw
面倒だから全スクロール
execute_script("window.scrollTo(0, document.body.scrollHeight);")
一度そのエレメントが見えるところまでまでスクロールすればイケルと思う
理由は分からないw
面倒だから全スクロール
execute_script("window.scrollTo(0, document.body.scrollHeight);")
2020/01/07(火) 03:04:54.42ID:sMehhi+2
headlessじゃなくブラウザを画面表示してデバッガでステップ実行すれば
本当にタイムアウト時間内に要素が求める状態になってないのか
それとも求める状態になってるにもかかわらず取得できないのか一発で分かるやろ
後者ならステップ実行時にto_be_clickableじゃなく
単にfindで要素取得できるかどうかとか
取得できるならそれをclick()できるかどうかとか
正攻法で切り分けしていけばいい
本当にタイムアウト時間内に要素が求める状態になってないのか
それとも求める状態になってるにもかかわらず取得できないのか一発で分かるやろ
後者ならステップ実行時にto_be_clickableじゃなく
単にfindで要素取得できるかどうかとか
取得できるならそれをclick()できるかどうかとか
正攻法で切り分けしていけばいい
2020/01/07(火) 07:30:53.46ID:Thq5It+S
他の要素の下になってクリックできないってこともある。
2020/01/07(火) 07:48:08.12ID:gM3QDlRr
見えてすら無いに一票
2020/01/07(火) 11:17:44.68ID:DsG2B72o
pandasのread_excelでシート読むときに、セル内の関数を読み書きするのはどうしたらいいんでしょうか
具体的には=いまセルにtext(today()+1,"mmdd")が入ってて、read_excelすると1008が取得中できるのですが
today()+nと操作したいです
具体的には=いまセルにtext(today()+1,"mmdd")が入ってて、read_excelすると1008が取得中できるのですが
today()+nと操作したいです
74デフォルトの名無しさん
2020/01/07(火) 12:42:25.03ID:j68rdTp2 もちろんできないのであきらめる
75デフォルトの名無しさん
2020/01/07(火) 12:54:01.36ID:j68rdTp2 OpenPyXLなら式操作できるかな
xlrdでもいいのかも知れないが
"Please use openpyxl where you can..."
なんてわざわざ書いてあるライブラリ使わんでもえやろ
xlrdでもいいのかも知れないが
"Please use openpyxl where you can..."
なんてわざわざ書いてあるライブラリ使わんでもえやろ
2020/01/07(火) 14:39:25.87ID:sMehhi+2
>>73
1. xlwingsやCOM使ってExcelを開いて再計算させてからpandas使う
2. Excelの計算式は捨ててpython側で計算式を定義する
3. openpyxlで計算式をパースしてpythonで計算し直す (茨の道)
1. xlwingsやCOM使ってExcelを開いて再計算させてからpandas使う
2. Excelの計算式は捨ててpython側で計算式を定義する
3. openpyxlで計算式をパースしてpythonで計算し直す (茨の道)
2020/01/07(火) 15:07:43.76ID:YTm5sjhC
seabornでlmplot使っているのですが、DFのラベルでlatency(msec)や[msec]として単位をグラフの軸ラベルを記載しようとするとエラーになります。
2020/01/07(火) 15:09:01.88ID:YTm5sjhC
多分[]や()が予約後だからかとおもいますが、DFのラベル名に単位を記載しようとするときはどのようにするべきなのでしょうか?
2020/01/07(火) 16:20:37.06ID:sMehhi+2
2020/01/07(火) 19:12:15.21ID:cN6CR2jQ
latency_msec
1700
0
0
0
0
0
0
0
0
for i, latency in enumerate(df['latency_msec']):
print(i, latency)
1700
0
0
0
0
0
0
0
0
for i, latency in enumerate(df['latency_msec']):
print(i, latency)
2020/01/07(火) 19:13:26.51ID:cN6CR2jQ
結果
0 1700
1 0
2 0
3 0
4 0
0 0
1 0
2 0
3 0
なんでインデックスが4まで行くと0になってしまうのでしょう?
アホみたいですが、教えて下さい。
0 1700
1 0
2 0
3 0
4 0
0 0
1 0
2 0
3 0
なんでインデックスが4まで行くと0になってしまうのでしょう?
アホみたいですが、教えて下さい。
2020/01/07(火) 19:22:14.99ID:cN6CR2jQ
2020/01/07(火) 19:50:51.58ID:cN6CR2jQ
連投すいません
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よくわからない・・・。
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デフォルトの名無しさん
2020/01/07(火) 19:55:20.61ID:Bxvs3Isv df.iloc[1,1]
2020/01/07(火) 20:03:44.84ID:cN6CR2jQ
2020/01/07(火) 22:05:07.51ID:cN6CR2jQ
q75, q25 = np.percentile(col, [75 ,25])
colが整数だけのときは正しい値が入るのですが、colに少数が入ると0.0になってしまいます
np.percentileって少数には使えないのでしょうか?
colが整数だけのときは正しい値が入るのですが、colに少数が入ると0.0になってしまいます
np.percentileって少数には使えないのでしょうか?
2020/01/07(火) 22:19:19.73ID:sMehhi+2
>>86
a = np.array([[10.4, 7.8, 4.5], [3, 2, 1]])
np.percentile(a, [72,25])
#=> array([6.48, 2.25])
問題なさそうだけど?
a = np.array([[10.4, 7.8, 4.5], [3, 2, 1]])
np.percentile(a, [72,25])
#=> array([6.48, 2.25])
問題なさそうだけど?
2020/01/07(火) 23:10:02.77ID:cN6CR2jQ
2020/01/07(火) 23:17:56.29ID:cN6CR2jQ
四分位範囲で外れ値の値だったばあいフラグを立てる関数を作ったのですが、
なぜかデータが整数では正常動作するのに、少数が含まれているとフラグで1を立てても0になります。
かれこれ数時間悪戦苦闘しているのですが、原因わからず・・・。
どこかにコードを書き込んで質問できればいいのですが、そのような掲示板ありませんでしょうか?
本当に初心者ですいません。
なぜかデータが整数では正常動作するのに、少数が含まれているとフラグで1を立てても0になります。
かれこれ数時間悪戦苦闘しているのですが、原因わからず・・・。
どこかにコードを書き込んで質問できればいいのですが、そのような掲示板ありませんでしょうか?
本当に初心者ですいません。
90デフォルトの名無しさん
2020/01/07(火) 23:30:09.50ID:Es2WAZts つideone
2020/01/07(火) 23:55:26.90ID:cN6CR2jQ
>>90
ありがとうございます。
ありがとうございます。
2020/01/07(火) 23:57:52.11ID:cN6CR2jQ
https://ideone.com/Fl1R9z
40行目の
df.iloc[i][output_column] = 1
が怪しいとおもうのですが、取り込んだdfが整数だけのときは1が書き込めているのですが、
dfに小数が含まれているときは書き込めていないようです。
なぜなのでしょう・・・・・。
40行目の
df.iloc[i][output_column] = 1
が怪しいとおもうのですが、取り込んだdfが整数だけのときは1が書き込めているのですが、
dfに小数が含まれているときは書き込めていないようです。
なぜなのでしょう・・・・・。
2020/01/08(水) 12:53:13.99ID:U2S7mQMy
>>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)
↓この警告出てるよね? リンク先みて警告を消そう
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デフォルトの名無しさん
2020/01/08(水) 17:08:03.84ID:Sre2vN3k df['price_edited'] = df['price'].apply(lambda a: int(a[1:]) if a.startswith('$') else 0)
2020/01/08(水) 18:24:29.64ID:xdUcjCBz
2020/01/08(水) 19:32:52.69ID:j91Gwtaz
map, filter, reduceとか色々あるけど、pythonでこの辺って使う機会ある?
2020/01/08(水) 19:59:10.33ID:NG22H+Rz
ほとんどない
リスト内包表記の方が可読性高いし、複雑な処理にはどうせpandasとか使うし
リスト内包表記の方が可読性高いし、複雑な処理にはどうせpandasとか使うし
2020/01/08(水) 20:02:38.71ID:cyxQSndQ
pythonに限らずどの言語でも用意されてるがどの言語でも使わない
2020/01/08(水) 20:06:21.39ID:HaPwADKT
mapは、リスト中の数字と数値を数字に統一して、ソートできるように再マッピングするときに使うことはある
100デフォルトの名無しさん
2020/01/08(水) 20:07:25.06ID:cBWLj0dO101デフォルトの名無しさん
2020/01/08(水) 20:10:23.35ID:v4o4ZY0H >>96
mapは内包表記を使うほどでもないとき
競技プログラミングとかで入力を全部int型のリストに置き換えるときとかに使うぞ
a,b,c = map(int,input().split())って感じで
mapは内包表記を使うほどでもないとき
競技プログラミングとかで入力を全部int型のリストに置き換えるときとかに使うぞ
a,b,c = map(int,input().split())って感じで
102デフォルトの名無しさん
2020/01/08(水) 20:28:49.09ID:w1X5ZQ1+ なるほどlambda書かなくていいケースなら短いんだな
103デフォルトの名無しさん
2020/01/08(水) 20:31:21.99ID:rc02anx7 競プロで使うといえば、sys.stdinとcollections.dequeも
104デフォルトの名無しさん
2020/01/08(水) 21:13:48.14ID:U2S7mQMy >>96
個人用のコードの場合はcurryやpipeと合わせてそこそこ使うけど
他人が読み書きするコードの場合は基本的に内包表記に揃えてる
他の言語と違ってpythonの場合は
そのままだと処理つなげないからmap/filter/reduceだと簡潔に書けない
個人用のコードの場合はcurryやpipeと合わせてそこそこ使うけど
他人が読み書きするコードの場合は基本的に内包表記に揃えてる
他の言語と違ってpythonの場合は
そのままだと処理つなげないからmap/filter/reduceだと簡潔に書けない
105デフォルトの名無しさん
2020/01/08(水) 21:16:10.78ID:cBWLj0dO >>98
ねえねえ
ねえねえ
106デフォルトの名無しさん
2020/01/08(水) 21:23:57.62ID:rc02anx7 むしろ、内包表記の方が使わんわ
107デフォルトの名無しさん
2020/01/08(水) 21:28:12.52ID:cyxQSndQ 昔はシュワルツ変換とかあったが今のpythonじゃそんなの聞かないだろ?
108デフォルトの名無しさん
2020/01/08(水) 21:28:32.46ID:j91Gwtaz >>101
mapってこれa,b,cに直で突っ込めるん?
mapってこれa,b,cに直で突っ込めるん?
109デフォルトの名無しさん
2020/01/08(水) 21:48:20.80ID:rc02anx7110デフォルトの名無しさん
2020/01/09(木) 09:06:17.58ID:CHl595iH >>106
競プロのことは知らないけど、内包表記の方が基本短くならない?なにか違う理由で使わないの?
競プロのことは知らないけど、内包表記の方が基本短くならない?なにか違う理由で使わないの?
111デフォルトの名無しさん
2020/01/09(木) 10:22:53.25ID:CxgUH5at バイト列に関して質問です。
文字タイプのバイト列情報の文字を、日本語に復元したいです。
例えば、
\x12\x34\x56\x78
という文字列があります。
これを
あいう
のような意味のわかる日本語にしたいです。
その場合、
print(b'\x12\x34\x56\x78'.decode('cp932'))
で復元できます。
そこで、復元したい文字列は複数あるので、
\x12\x34\x56\x78 を変数に代入してから、
for文で復元しようとしています。
しかし、変数に代入したら b をつけられません。
どうすればバイト列にしてから復元できるのでしょうか?
文字タイプのバイト列情報の文字を、日本語に復元したいです。
例えば、
\x12\x34\x56\x78
という文字列があります。
これを
あいう
のような意味のわかる日本語にしたいです。
その場合、
print(b'\x12\x34\x56\x78'.decode('cp932'))
で復元できます。
そこで、復元したい文字列は複数あるので、
\x12\x34\x56\x78 を変数に代入してから、
for文で復元しようとしています。
しかし、変数に代入したら b をつけられません。
どうすればバイト列にしてから復元できるのでしょうか?
112デフォルトの名無しさん
2020/01/09(木) 10:37:07.44ID:I9hACzJa b'\x12\x34\x56\x78'を入れちゃだめなの?
113デフォルトの名無しさん
2020/01/09(木) 11:18:23.26ID:nzRPJUvL データフレームのラベルにlatency[msec]と単位をいれたいのですが、
lm_model = smf.ols(formula="latency[msec]~x", data=df).fit()
とすると
latency is not define
となります。
latency_msecとするとokなのですが[]や()を使うとダメ
[]、()をラベルに使ってはいけないのでしょうか?
lm_model = smf.ols(formula="latency[msec]~x", data=df).fit()
とすると
latency is not define
となります。
latency_msecとするとokなのですが[]や()を使うとダメ
[]、()をラベルに使ってはいけないのでしょうか?
114デフォルトの名無しさん
2020/01/09(木) 11:29:08.27ID:m2IVdqCX >>112
レスありがとうございます。
変数にb'\x12\x34\x56\x78'を入れるということでしょうか?
bと文字列 \x12\x34\x56\x78 を合体させる方法が分からないんですよね・・・
レスありがとうございます。
変数にb'\x12\x34\x56\x78'を入れるということでしょうか?
bと文字列 \x12\x34\x56\x78 を合体させる方法が分からないんですよね・・・
115デフォルトの名無しさん
2020/01/09(木) 12:33:47.44ID:0RBXSUPh numpy とか pandas 使うとそっちで解決しちゃう
116デフォルトの名無しさん
2020/01/09(木) 12:39:08.38ID:j8mTnocC >>110
それ答えてもいいけど、過去何度も何度も繰り返された議論が始まるだけだぞ
それ答えてもいいけど、過去何度も何度も繰り返された議論が始まるだけだぞ
117デフォルトの名無しさん
2020/01/09(木) 12:45:59.86ID:81iybZRX118デフォルトの名無しさん
2020/01/09(木) 15:59:03.66ID:VxfXfT1S >>111
string = '¥x82¥xa0¥x82¥xa2¥x82¥xa4'
hexstr = string.encode('unicode_escape').decode('utf-8').replace('¥¥x', '')
print(bytes.fromhex(hexstr).decode('cp932'))
https://www.onlinegdb.com/ByuRArNxI
string = '¥x82¥xa0¥x82¥xa2¥x82¥xa4'
hexstr = string.encode('unicode_escape').decode('utf-8').replace('¥¥x', '')
print(bytes.fromhex(hexstr).decode('cp932'))
https://www.onlinegdb.com/ByuRArNxI
119デフォルトの名無しさん
2020/01/09(木) 16:52:22.09ID:OQFCwUQr l = [[1,2,3],[4,5]]
から
[1,2,3,4,5]
に変形したいのですが、リスト内包表記だけでできますか?
から
[1,2,3,4,5]
に変形したいのですが、リスト内包表記だけでできますか?
120デフォルトの名無しさん
2020/01/09(木) 17:49:39.42ID:CxgUH5at121デフォルトの名無しさん
2020/01/09(木) 18:04:23.16ID:VxfXfT1S122デフォルトの名無しさん
2020/01/09(木) 18:05:14.78ID:VxfXfT1S123デフォルトの名無しさん
2020/01/09(木) 18:11:11.27ID:CxgUH5at124デフォルトの名無しさん
2020/01/09(木) 18:53:25.08ID:KHoLcO1x >>119
sum(l,[])
sum(l,[])
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★6 [BFU★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 【サッカー】U-17W杯 日本代表、無念のベスト8敗退… チャンスは多く作ったが仕留め切れず オーストリアに0-1で敗戦 [冬月記者★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ157
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ158
- 【高市悲報】イギリス🇬🇧、世界最大級の中国大使館をロンドンのど真ん中に建設承認。習近平さん国賓待遇でイギリス訪問へ [709039863]
- 【ガチ正論】一般人「中国に規制制裁されて、『中国ムカつく』じゃなくて矛先が『許さんぞ高市』になってる奴、頭おかしいの?」 ★2 [153490809]
- 【悲報】ドイツ銀行「ヘイ、ジャップ!このまま高市放置してたらトラスショック来るぞ」 [731544683]
- NHKニュースウオッチ9「日本側は対話にオープンな姿勢で安定した日中関係を築きたい考えなのに中国が意固地で糸口が見いだせない」 [904151406]
