当スレに★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(土) 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,[])
125デフォルトの名無しさん
2020/01/09(木) 19:12:34.29ID:NaQHxKOV127デフォルトの名無しさん
2020/01/09(木) 19:56:28.10ID:nuQhSBU1 map, reduce, filterと来れば次はflatten
でもpython標準にはない
でもpython標準にはない
128デフォルトの名無しさん
2020/01/09(木) 20:03:36.46ID:vYl+3riX >>> np.array([[1,2,3],[4,5,6]]).flatten()
array([1, 2, 3, 4, 5, 6])
>>> np.array([[1,2,3],[4,5]]).flatten()
array([[1, 2, 3], [4, 5]], dtype=object)
めんどいな
array([1, 2, 3, 4, 5, 6])
>>> np.array([[1,2,3],[4,5]]).flatten()
array([[1, 2, 3], [4, 5]], dtype=object)
めんどいな
129デフォルトの名無しさん
2020/01/09(木) 20:06:14.36ID:vYl+3riX >>> pd.DataFrame([[1,2,3],[4,5]]).flatten()
AttributeError: 'DataFrame' object has no attribute 'flatten'
>>> pd.Series([[1,2,3],[4,5]]).flatten()
AttributeError: 'Series' object has no attribute 'flatten'
>>> list(int(_[1]) for _ in pd.concat(pd.Series(_[1:]) for _ in pd.DataFrame([[1,2,3],[4,5]]).itertuples()).iteritems() if not np.isnan(_[1]))
[1, 2, 3, 4, 5]
めんどい
AttributeError: 'DataFrame' object has no attribute 'flatten'
>>> pd.Series([[1,2,3],[4,5]]).flatten()
AttributeError: 'Series' object has no attribute 'flatten'
>>> list(int(_[1]) for _ in pd.concat(pd.Series(_[1:]) for _ in pd.DataFrame([[1,2,3],[4,5]]).itertuples()).iteritems() if not np.isnan(_[1]))
[1, 2, 3, 4, 5]
めんどい
130デフォルトの名無しさん
2020/01/09(木) 20:41:39.72ID:ZiyVM7wM df.query("tag.str.contains('log')")
だと、'LOG'や'Log'にマッチしないですが、queryを使った何か方法あります?
だと、'LOG'や'Log'にマッチしないですが、queryを使った何か方法あります?
131デフォルトの名無しさん
2020/01/09(木) 20:49:32.76ID:vYl+3riX df.query("tag.str.contains('log') or tag.str.contains('LOG') or tag.str.contains('Log')")
132デフォルトの名無しさん
2020/01/09(木) 20:50:05.73ID:hJpPvhWv dfにlower()を適用した行を追加する
133デフォルトの名無しさん
2020/01/09(木) 20:54:34.17ID:vYl+3riX df.query("tag.str.contains('log', case=False)")
または
df.query("tag.str.contains('[lL][oO][gG]')")
または
df.query("tag.str.contains('[lL][oO][gG]')")
134130
2020/01/09(木) 20:59:41.18ID:ZiyVM7wM case=Falseでいいです。
おっさんありがとう。
おっさんありがとう。
135デフォルトの名無しさん
2020/01/09(木) 21:05:50.10ID:o7IUVb3B あなたのハゲにサクセスしたい
136デフォルトの名無しさん
2020/01/09(木) 22:29:38.19ID:rdMUJkc5 散布図書いて
凡例1:回帰直線あり
凡例2:回帰直線なし
としたいんですが
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips, legend=False, fit_reg=False)
とfit_regを使うと凡例1、2とも回帰直線あり、なしで統一されますよね。
凡例ごとに回帰直線あり、なしを設定する方法ないでしょうか?
凡例1:回帰直線あり
凡例2:回帰直線なし
としたいんですが
sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips, legend=False, fit_reg=False)
とfit_regを使うと凡例1、2とも回帰直線あり、なしで統一されますよね。
凡例ごとに回帰直線あり、なしを設定する方法ないでしょうか?
137デフォルトの名無しさん
2020/01/09(木) 22:30:27.61ID:rdMUJkc5 もしくはlmplotで凡例1の回帰直線を書いて、
その後に凡例にの散布図を重ねるとかできるといいのですが・・・。
その後に凡例にの散布図を重ねるとかできるといいのですが・・・。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 首相官邸前で「戦争あおるな」 台湾有事巡る答弁に抗議 [蚤の市★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」 [ぐれ★]
- 【高市リスク】立民・小西洋之参院議員「高市総理がとんでもない安全保障オンチで外交オンチ」 [ぐれ★]
- 『DOWNTOWN+』会員数50万人突破で見えてきた 松本人志の“月収4ケタ万円”驚愕収入 [阿弥陀ヶ峰★]
- 【音楽】クラフトワークの来日公演決定 [湛然★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 夜勤終わり風呂なう
- 桃香さん!!
- 【悲報】東京都民さん、20過ぎてるのに自転車に乗っててて大炎上wwwwwwwwwwww女「いい歳した男で自転車に乗るのは知的障がい者だけだよ? [483447288]
- 【悲報】細田守最新作、超絶爆死しそう
- 【悲報】ミスター東大さん、高度な『ずらし』を披露するも愚民には理解されず大炎上wwwwwwwwwwww [455031798]
- 俺より芥川龍之介の本読んでるやつVIPにいないであろう
