くだすれ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()
2020/01/06(月) 10:06:33.60ID:bAE45PWZ
>>63
ありがとう。助かりました。
2020/01/06(月) 23:59:51.35ID:VrovJO3c
すいません…結局わかりませんでした…
とりあえず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秒ぐらいにすれば?
2020/01/07(火) 00:29:10.58ID:PWzkvPR1
>>66
runtime-menu-buttonが存在するところは確認済です
一応昨日180秒でやりましたが結果は変わりませんでした
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);")
2020/01/07(火) 03:04:54.42ID:sMehhi+2
headlessじゃなくブラウザを画面表示してデバッガでステップ実行すれば
本当にタイムアウト時間内に要素が求める状態になってないのか
それとも求める状態になってるにもかかわらず取得できないのか一発で分かるやろ

後者ならステップ実行時に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と操作したいです
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..."
なんてわざわざ書いてあるライブラリ使わんでもえやろ
2020/01/07(火) 14:39:25.87ID:sMehhi+2
>>73
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
>>77
角括弧や括弧があってもクウォートして文字列として扱われてれば問題無いはずなので
エラー内容とそのエラーが再現する最小限のコードを公開したほうがいい
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)
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になってしまうのでしょう?
アホみたいですが、教えて下さい。
2020/01/07(火) 19:22:14.99ID:cN6CR2jQ
>>81
すいません。
自己解決しました。
関数の呼び出し先の問題でした。
疲れ切ってます。 org
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よくわからない・・・。
84デフォルトの名無しさん
垢版 |
2020/01/07(火) 19:55:20.61ID:Bxvs3Isv
df.iloc[1,1]
2020/01/07(火) 20:03:44.84ID:cN6CR2jQ
>>83
すいません。
無視してください、また変なこと聞きました。
もう無理だ・・・寝ます・・・。
2020/01/07(火) 22:05:07.51ID:cN6CR2jQ
q75, q25 = np.percentile(col, [75 ,25])

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

問題なさそうだけど?
2020/01/07(火) 23:10:02.77ID:cN6CR2jQ
>>87
あれ、本当ですね
ここが原因と思ってたら何が原因か分からなくなってきた
2020/01/07(火) 23:17:56.29ID:cN6CR2jQ
四分位範囲で外れ値の値だったばあいフラグを立てる関数を作ったのですが、
なぜかデータが整数では正常動作するのに、少数が含まれているとフラグで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に小数が含まれているときは書き込めていないようです。
なぜなのでしょう・・・・・。
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)
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
>>67
クリックできるようになるまで待つのをやめて、ボタンが現れるのに十分と思われる時間待った後で普通にクリックしてみる。
そうするとなんでクリックできないのか分かるかもしれない。
2020/01/08(水) 19:32:52.69ID:j91Gwtaz
map, filter, reduceとか色々あるけど、pythonでこの辺って使う機会ある?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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