当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その57
■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
2022/05/22(日) 22:37:38.56ID:jNpDIIz5
立て乙
3デフォルトの名無しさん
2022/05/24(火) 13:49:28.09ID:cQhl8P2i かわいい女の子に上目遣いで拗ねたように「いじわる」と言われると興奮するんです
4デフォルトの名無しさん
2022/06/05(日) 08:46:24.02ID:Sg+yaBaV pandasについての質問です。
"PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)"の順にデータが入ってるとします。
下記みたいな感じです。
@[0,0,2470,0,0,27] ○
A[0,0,1570,0,0,0] ☓
B[0,1580,1440,0,35,31] ○
C[0,1290,2878,0,0,31] ☓
D[2522,885,940,31,0,0] ☓
E[1527,1057,1639,28,5,31] ☓
F[1527,1457,1639,28,26,31] ○
○をつけたデータが残したいデータになります。
@AのようにPRICE>0のPRICEデータが1つの場合は、該当するP(%)データが25より大きい場合に残したいです。
BCのようにPRICE>0のPRICEデータが2つの場合は、該当するP(%)データがどちらも20より大きい場合に残したいです。
DEFのようにPRICE>0のPRICEデータが3つの場合は、該当するP(%)データがどちらも15より大きい場合に残したいです。
調べたら下記のような感じでやっていくことがわかったのですが、思うように整理できません。
df = pd.read_sql(sql=f'SELECT "PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)" FROM {schema}."{get_table}";', con=conn)
df = df[(df["PRICE1"]>0) | (df["PRICE2"]>0) | (df["PRICE3"]>0) | (df["P1(%)"]>25) | (df["P1(%)"]>25) | (df["P1(%)"]>25)]
df = [tuple(x) for x in df.values]
誰か助けてくだしあ
"PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)"の順にデータが入ってるとします。
下記みたいな感じです。
@[0,0,2470,0,0,27] ○
A[0,0,1570,0,0,0] ☓
B[0,1580,1440,0,35,31] ○
C[0,1290,2878,0,0,31] ☓
D[2522,885,940,31,0,0] ☓
E[1527,1057,1639,28,5,31] ☓
F[1527,1457,1639,28,26,31] ○
○をつけたデータが残したいデータになります。
@AのようにPRICE>0のPRICEデータが1つの場合は、該当するP(%)データが25より大きい場合に残したいです。
BCのようにPRICE>0のPRICEデータが2つの場合は、該当するP(%)データがどちらも20より大きい場合に残したいです。
DEFのようにPRICE>0のPRICEデータが3つの場合は、該当するP(%)データがどちらも15より大きい場合に残したいです。
調べたら下記のような感じでやっていくことがわかったのですが、思うように整理できません。
df = pd.read_sql(sql=f'SELECT "PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)" FROM {schema}."{get_table}";', con=conn)
df = df[(df["PRICE1"]>0) | (df["PRICE2"]>0) | (df["PRICE3"]>0) | (df["P1(%)"]>25) | (df["P1(%)"]>25) | (df["P1(%)"]>25)]
df = [tuple(x) for x in df.values]
誰か助けてくだしあ
5デフォルトの名無しさん
2022/06/05(日) 11:40:11.32ID:ocueg4o5 よーしらんが、論理回路の問題なんだろ?
なら一時的にif(if(if))みたいなネストの深いクソコード書いて、細かくデバック通すか
関数宣言をさぼらずに、(df["PRICE1"]>0)や(df["P1(%)"]>25)に分かりやすい関数名付けたほうがいいんじゃねえかな
なら一時的にif(if(if))みたいなネストの深いクソコード書いて、細かくデバック通すか
関数宣言をさぼらずに、(df["PRICE1"]>0)や(df["P1(%)"]>25)に分かりやすい関数名付けたほうがいいんじゃねえかな
2022/06/05(日) 12:23:41.62ID:NOI2DZIw
datetime.datetimeクラスの順序比較に手を加えたくなって、モジュールのソースをみたら_cmp()メソッドが比較の本体だったので
ttps://techiedelight.com/compiler/?zbRJ というコードで試したのですが、そもそも_cmp()が呼ばれません
これって、私は何を間違えているのでしょう? (なお、当初やりたかったこと自体は__eq__, __gt__, __ge__, __le__, __lt__, __ne__を直接オーバーライドすることで達成できました)
ttps://techiedelight.com/compiler/?zbRJ というコードで試したのですが、そもそも_cmp()が呼ばれません
これって、私は何を間違えているのでしょう? (なお、当初やりたかったこと自体は__eq__, __gt__, __ge__, __le__, __lt__, __ne__を直接オーバーライドすることで達成できました)
7デフォルトの名無しさん
2022/06/05(日) 12:40:05.08ID:u0j22vIZ 条件に合うものを残すより
条件に合わないものを消していく方が効率が良い
条件に合わないものを消していく方が効率が良い
8デフォルトの名無しさん
2022/06/05(日) 12:44:51.80ID:u0j22vIZ2022/06/05(日) 14:26:03.02ID:NOI2DZIw
>>8
お返事ありがとうございます
しかし、_cmpのアンダースコアは一つですし、AttributeErrorが発生したりせず単に呼ばれないだけ(比較自体は出来ているので親クラスの_cmp()が呼ばれているはず)です
マングル化に関するページをご紹介いただいた意味がよく分かりません
お返事ありがとうございます
しかし、_cmpのアンダースコアは一つですし、AttributeErrorが発生したりせず単に呼ばれないだけ(比較自体は出来ているので親クラスの_cmp()が呼ばれているはず)です
マングル化に関するページをご紹介いただいた意味がよく分かりません
10デフォルトの名無しさん
2022/06/05(日) 14:57:15.34ID:ocueg4o5 def もれそう(arg1, arg2, arg3, arg4, arg5, arg6):
__うんこ = [arg1, arg2, arg3]
__おもさ = [arg4, arg5, arg6]
__def 内容量(element):
____return len(list(filter(lambda x: x > 0, element)))
__def 耐久力(element, n):
____return list(filter(lambda x: x > n, element))
__if 内容量(うんこ) == 1:
____return 耐久力(おもさ, 25)
__elif 内容量(うんこ) == 2:
____return 耐久力(おもさ, 20)
__elif 内容量(うんこ) == 3:
____return 耐久力(おもさ, 15)
df = もれそう(茶色1,茶色2,茶色3,重量1, 重量2, 重量3)
pandasのことよー知らんから>>5で適当なこと書いちゃったけど、こういうことだよな
どっかで関数一覧に目を通すなりして、array関数とかcallback関数の使い方覚えたほうがいいぞ
__うんこ = [arg1, arg2, arg3]
__おもさ = [arg4, arg5, arg6]
__def 内容量(element):
____return len(list(filter(lambda x: x > 0, element)))
__def 耐久力(element, n):
____return list(filter(lambda x: x > n, element))
__if 内容量(うんこ) == 1:
____return 耐久力(おもさ, 25)
__elif 内容量(うんこ) == 2:
____return 耐久力(おもさ, 20)
__elif 内容量(うんこ) == 3:
____return 耐久力(おもさ, 15)
df = もれそう(茶色1,茶色2,茶色3,重量1, 重量2, 重量3)
pandasのことよー知らんから>>5で適当なこと書いちゃったけど、こういうことだよな
どっかで関数一覧に目を通すなりして、array関数とかcallback関数の使い方覚えたほうがいいぞ
2022/06/05(日) 15:01:54.57ID:v/p+BagL
>>4
sqlでの抽出は知らんけど、他の方法で抽出でけた
import pandas as pd
data=[
[0,0,2470,0,0,27],
[0,0,1570,0,0,0],
[0,1580,1440,0,35,31],
[0,1290,2878,0,0,31],
[2522,885,940,31,0,0],
[1527,1057,1639,28,5,31],
[1527,1457,1639,28,26,31]]
df = pd.DataFrame(data)
def check(row):
d = {1:25, 2:20, 3:15}
return all(i[1] > d[len(row)] for i in row)
# 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック
[check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]]
[True, False, True, False, False, False, True] # ブールインデックス作成
df2 = df[_] # ブールインデックスで抽出
df2.values.tolist()
[[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]
sqlでの抽出は知らんけど、他の方法で抽出でけた
import pandas as pd
data=[
[0,0,2470,0,0,27],
[0,0,1570,0,0,0],
[0,1580,1440,0,35,31],
[0,1290,2878,0,0,31],
[2522,885,940,31,0,0],
[1527,1057,1639,28,5,31],
[1527,1457,1639,28,26,31]]
df = pd.DataFrame(data)
def check(row):
d = {1:25, 2:20, 3:15}
return all(i[1] > d[len(row)] for i in row)
# 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック
[check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]]
[True, False, True, False, False, False, True] # ブールインデックス作成
df2 = df[_] # ブールインデックスで抽出
df2.values.tolist()
[[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国、対日報復措置を慎重に選択 自国に影響少ないものばかり 高市氏個人や「右翼」に矛先… ★2 [BFU★]
- 【相撲】大の里が千秋楽を休場 [9999★]
- 高市首相、G20初日に18人と会話しメローニ氏と抱き合う 中国首相と接触実現せず 一瞬目が合ったような場面も [ぐれ★]
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★7 [♪♪♪★]
- 【公園】「タコ山」「箱型ブランコ」の次はジャングルジム? 姿消す“公園遊具” [煮卵★]
- 【(・(ェ)・)】駆除数17倍、クマ1頭の焼却に灯油100㍑で今季7000㍑以上使用した施設も…処理に追われる自治体 [ぐれ★]
- 戦争なんてバカのウヨクと自民党と高市早苗だけでやってればいいのに 中国父さんとの戦争に巻き込まれて死にたくないよおお😭 [817148728]
- 【悲報】宮城で開催中のクイーンズ駅伝、クマが100m以内に出没したらレース中止… 謎の緊急ルールに日本国民も冷や汗 [452836546]
- 高市早苗、G20遅刻、夕食会欠席 🦎「アタシ絶ッッッ対中国に謝らないから!😡」 [165981677]
- 🏡コマンドも反映されねークソサイト
- 【悲報】みいちゃん「低身長で不細工な弱者男性と付き合うくらいならイケメンの愛人になる方が兆倍マシ」正論すぎて炎上wwwwww [257926174]
- 2007年頃のおまえらwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
