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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/03/07(土) 00:40:52.77ID:k5ibAr7h
当スレに★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(超初心者用) その46【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/
220デフォルトの名無しさん
垢版 |
2020/03/24(火) 23:16:28.47ID:PjM8J8DG
>>219
あ、すみません後半のchange.change(s)みたいにファイル名と関数名を
一々書かなきゃいけない方が嫌なだけで、一行目のimportは当然OKです
python -c "import change(もしくはfrom 〇〇 import change);change(s)"
みたいな感じの物を実現したいです。
2020/03/24(火) 23:36:57.77ID:LPFDXKjv
いまやPythonは基幹システムに使われるメジャー言語になっているから
職業プログラマが必死にPythonをやっているからな
2020/03/24(火) 23:38:03.58ID:UBy3gEYu
>>217
$ touch /usr/bin/mymodule/__init__.py

from mymodule.change import change

https://docs.python.org/3/tutorial/modules.html#packages
223デフォルトの名無しさん
垢版 |
2020/03/25(水) 01:43:26.05ID:E7HPnXVD
>>222
ありがとうございます!
importのやり方普通のやつとfrom ~ import ~しか分かってませんでした、反省します
224デフォルトの名無しさん
垢版 |
2020/03/25(水) 03:28:12.51ID:BoSHYqnZ
自分の周りでは少なくとも、治自体関係、医療関係(レセプト、電子カルテ等)、
運送・運輸関係の基幹システムをPythonで構築しているという話は聞いた事
がない。コールセンター(CTI、IVR等)関係のシステムをPythonで構築している
という話も聞いた事がない。

基幹システムをPythonで構築ではなく、基幹システムの一部の機能にPythonが
使われている場合があるという事なのか。

それとも情報系システムと勘違いしているのか。
225デフォルトの名無しさん
垢版 |
2020/03/25(水) 03:36:55.77ID:BoSHYqnZ
基幹系システムと情報系システムの違い
https://www.hitachi-solutions-create.co.jp/column/core-system/basic-information.html
2020/03/25(水) 06:18:41.64ID:D6nq+1Z6
フレッシュなニンニクジュースを飲めばコロナ菌は死滅する!
2020/03/25(水) 09:58:04.82ID:oItmf4ur
スレ違いの上エビデンスなしはNG
2020/03/25(水) 10:51:24.12ID:u29o72QF
ニンニクジュースの話はスレチだな
2020/03/25(水) 12:02:43.15ID:nfUzvxHY
COBOL、VB、Javaが、多重請負構造・奴隷土方プログラマの基本w

銀行側が払う料金
時給5千円 * 180時間 = 1人月90万円

その内、本人は20〜30万円ぐらいもらう。
その差額、60万円分で、数社の会社が成立できる仕組み

その60万円を多重請負構造で分ける

例えば、元請けのIBM(5大ITer)が30万円とって、
1次受けの上場企業が20万円とって、
2次受けの中小企業が10万円とって、みたいな土建業と同じの多重請負構造

就職面接へ行くと、1〜3次受けの会社員が皆来てるw
1次受けが雇うというと、2次も雇う、3次も雇うとなるw

奴隷売買業w
女衒みたいなものw

GitHub・Ruby みたいな自社サービス系とは全く違う!
学校で教えるのは、就職率が高い、Ruby ばっかりw

自社サービス系の方が、会社の倒産リスクは高いけど、
中間会社に抜かれないから、給料が高い
230229
垢版 |
2020/03/25(水) 12:06:10.38ID:nfUzvxHY
それに銀行系は、システム更新時期が過ぎたから、仕事が無くなったw
2020/03/25(水) 12:17:37.23ID:KDJCx941
プロは複数言語使えるのが当たり前なんだからPythonが基幹システムに使われようが使われなかろうがどうでもいいだろ。
言語の特性上向いてない目的を挙げて特定の言語をdisすることになんの意味があるのかわからん。

他言語のコード書いてるときでも、データ変換やある程度決まりきったコードなんかはPythonで生成したりしてるが便利だよ。他言語で書いたアルゴリズムが間違ってないかの検証なんかにも使えるし。
2020/03/25(水) 12:46:54.20ID:qvXjJ9lz
生成や検証ってpython以外のP言語でも出来るんじゃねえの
2020/03/25(水) 14:06:06.27ID:nfUzvxHY
Haxe は、JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash に変換できる
234デフォルトの名無しさん
垢版 |
2020/03/25(水) 16:52:47.61ID:6ULKuSqz
>>217

>>> binascii.a2b_hex('12345678')
b'\x124Vx'
>>> list(reversed(binascii.a2b_hex('12345678')))
[120, 86, 52, 18]
>>> bytes(reversed(binascii.a2b_hex('12345678')))
b'xV4\x12'
2020/03/25(水) 19:56:42.27ID:mIdHRgzi
>>217
structパッケージかな

from struct import pack
pack('<I', int('12345678', 16))

長いというならラムダ式でも使って
change = lambda s: pack('<I', int(s, 16))
と定義すれば
change('12345678')
で使える
236デフォルトの名無しさん
垢版 |
2020/03/25(水) 20:53:06.37ID:E7HPnXVD
>>234
>>235
ありがとうございます、ただやりたいのは入力数値をそのまま\x78\x56……
みたいな方式に変えたいことで16進数に変換されるとちょっと不都合が
セキュリティ本のシェルコード挿入でそういう入力多かったので作ろうと思ったんですが
もしかして普通は上みたいな入力使う機会ないんですかね?
237デフォルトの名無しさん
垢版 |
2020/03/25(水) 20:59:06.96ID:i/r3a70w
ごめん何言ってるか判らないω
2020/03/25(水) 21:11:26.87ID:mIdHRgzi
>>236
\x78
は16進数で78のことを表している

16進数であることを明確にするにはH'78と記述する
プログラムでは0x78と書く

\x78\x56...みたいな16進バイト列を作りたいんだけど、16進数にされるとちょっと困る、と言われても、こっちも困る
2020/03/25(水) 21:19:52.75ID:XgBtMRgR
要するにchange.change(s)って毎回書くのだるいからchange(s)って書くにはどうすればいいかってこと?
2020/03/25(水) 21:21:00.60ID:E7HPnXVD
https://dotup.org/uploda/dotup.org2096094.png.html
画像はbashですがこんな感じでAAAA\x78\x56……という文字列を出力したいんです。
って言おうとしてたんですがすみません、これの出力が
AAAAAAAAAA\x78\x56\x34\x12
になるとずっと思っていたんですが、嫌な予感がしたので今確かめたら
AAAAAAAAAAxV4
になってました
つまり>>234の方と>>235の方のやり方が求めていた者です、ありがとうございます。
初心者の勘違いでお騒がせをしてスレを汚してしまい申し訳ありませんでした……orz
2020/03/25(水) 22:46:13.13ID:mIdHRgzi
>>240
プログラムに組み込んでパイプで渡したいだけなら何もする必要はない

python -c "import sys; sys.stdout.write('AA\x12\x34')" | hexdump -C
結果
00000000 41 41 12 34 |AA.4|

コマンドライン引数でこの文字列を受け取った上で別のプログラムに渡す場合は、自分で作らないとない

python -c "import sys; sys.stdout.write(sys.argv[1])" "AA\x12\x34" | hexdump -C
結果
00000000 41 41 5c 78 31 32 5c 78 33 34 |AA\x12\x34|

\x12がH'12の1バイトではなく、H'5c783132の4バイトとして評価される
2020/03/26(木) 21:17:50.96ID:jt2f7/Y4
def file_open():
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)

def main():
a=input()
if a!='1':
file_open()

を実行すると、VS CODEのウインドウの下に非アクティブでファイル選択ウインドウが立ち上がります。
ファイル選択ウインドウを再前側でアクティブウインドウとして立ち上げたいのですがどうすればいいのでしょう?
2020/03/26(木) 21:45:03.06ID:jt2f7/Y4
if文ぬいて

def file_open():
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)

def main():
file_open()

とするとファイル選択ウインドウが最前面にきてアクティブになるんですよね
なんでだろう
2020/03/26(木) 21:49:37.79ID:jt2f7/Y4
ああ、なんとなくわかってきました
input()
を使うと、VS CODEが最前面でアクティブのままロックされて、
そのウインドウの裏でファイル選択ウインドウが開くみたい

input()を使ってこの現象をさける方法ってありませんか?
2020/03/26(木) 22:02:56.82ID:jt2f7/Y4
連投すいません
data_path = fd.askopenfilename(
title="ファイルを選んでください",
filetypes=[("TEXT", "csv"), ("TEXT", "py"), ("HTML", "html")]
)
でファイルを開くときに、選択ウインドウを常にアクティブにする設定があれば教えて下さい

というのが、正しい質問でした
ご存知の方いらっしゃいましたら教えて下さい
2020/03/27(金) 01:28:39.52ID:DFFADnRu
>>245
fd ってのが from tkinter import filedialog as fd なら
tkinter で topmost を指定してあげれば良いんじゃないかな?
https://teratail.com/questions/145112
2020/03/27(金) 23:36:36.81ID:wFQ5Bfhf
>>246

解決しました!!!
ありがとうございます

もうわからないから、
print('この画面を最小化してね’)
とでもしようかと思ってたw
248デフォルトの名無しさん
垢版 |
2020/03/28(土) 22:27:12.81ID:BYkjXtO6
初歩的な質問ですみません。Colaboratory を使ってスクレイピング行っておりURLのみを表示させたいので
get使ったのですがAttributeErrorになってしまいます。
getを使わずa_tagsだけ入力するとエラーにならずに表示されます。
getが使えないのは何が原因なのでしょうか?

import requests
from bs4 import BeautifulSoup

page_url ="https://news.yahoo.co.jp/topics/top-picks";
r = requests.get(page_url)

soup = BeautifulSoup(r.text, features="html.parser")


a_tags = soup.find_all("a", class_="newsFeed_item_link")

a_tags.get("href")
2020/03/28(土) 22:48:46.72ID:+WXFsbEZ
>>248
a_tagsはlistだから
listの各要素に対してget(‘href’)する必要がある
2020/03/29(日) 05:29:29.33ID:8xENdWjm
>>248
Ruby, selenium-webdriver, nokogiri で作ったが、href を取得しようとすると、エラーになる。
sleep 15 して待っても、エラーのまま

要素は存在するけど、JavaScript で動的に、href を作っているのかも。
他から取得するか、クリックするなど、何かアクションを起こせば、作られるのかも

require "selenium-webdriver"
require "nokogiri"

options = Selenium::WebDriver::Chrome::Options.new
driver = Selenium::WebDriver.for :chrome, options: options

driver.navigate.to "http://news.yahoo.co.jp/topics/top-picks";

doc = Nokogiri::HTML( driver.page_source )

css_selector = "a.newsFeed_item_link"
elements = driver.find_elements( :css, css_selector )

results = elements.map { |elem| elem.attr( "href" ) }
puts results

driver.quit
251250
垢版 |
2020/03/29(日) 09:52:13.78ID:8xENdWjm
>>250
は、nokogiri を使わず(doc という変数を使っていなかった)、
selenium-webdriver から取得していたので、

それを、20秒スリープして、nokogiriから取得するように変えたら、25個のhref を取得できた!

require "selenium-webdriver"
require "nokogiri"

options = Selenium::WebDriver::Chrome::Options.new

driver = Selenium::WebDriver.for :chrome, options: options
driver.navigate.to "http://news.yahoo.co.jp/topics/top-picks";

sleep 20

doc = Nokogiri::HTML( driver.page_source )

css_selector = "a.newsFeed_item_link"
elements = doc.css( css_selector )

results = elements.map { |elem| elem.attr( "href" ) }
puts results.length, results

出力、以下が25個
https://news.yahoo.co.jp/pickup/6355533
https://news.yahoo.co.jp/pickup/6355534
252デフォルトの名無しさん
垢版 |
2020/03/29(日) 12:43:01.48ID:4hib/jR0
すいません、ちょっと教えてもらいたいのですが
for x in ...
とかで文字を使っちゃうとまた次のforのときに
またx使うか迷うんですけどどうしてますか?
iみたいに毎回同じ文字使ってますか???
特に短いforがいくつもあるときに悩みます
2020/03/29(日) 12:53:10.19ID:TGQjvlT6
>>252
入れ子になってる等やむをえない事情がないのなら、
新たな文字など使わずに
むしろ
どんどんxなりiなりを再利用したまへ。

「どーでもいい?forループ回すときはいつもiな!」みたいな
俺ルールの徹底は
後日メリットばっかりだぞ。
2020/03/29(日) 13:48:18.09ID:hrvcX8VW
>>252
ループ変数としてしか使わない前提なら可
ループ変数を他の用途に使い回すのは不可
2020/03/29(日) 15:12:01.71ID:QD9LV+eK
ループ内のネストなら昔からi,j,kやな
2020/03/29(日) 15:31:33.32ID:a0L6N7lT
>>254
そのルールでチェックできるlinterってない?

ループの外では使うのは気持ち悪いからやらないけど
セーフガードは持っておきたい
257デフォルトの名無しさん
垢版 |
2020/03/29(日) 15:48:30.19ID:7B/pleQ/
特に用が無いなら for _ in list:
2020/03/29(日) 15:50:29.03ID:TGQjvlT6
>>257
おおお なるほどなっとく!
2020/03/29(日) 15:55:02.48ID:GHALE6C1
私も普通にi、j、k、m、l、nかな
2020/03/29(日) 16:36:34.85ID:TGQjvlT6
>>259
m、lの順序が敢えて逆なのに意味はあるんけ?
2020/03/29(日) 17:20:58.04ID:PlAItnzy
nとmが紛らわしいとか?
2020/03/29(日) 17:25:13.42ID:MKM75DKF
i, ii, iii, iiii
とかやっちゃうな
2020/03/29(日) 17:28:14.26ID:zGVyzuX/
何だこのスレ?bad know how の集合知や〜
2020/03/29(日) 17:41:24.52ID:TGQjvlT6
いいことジャマイカ
2020/03/29(日) 17:43:26.03ID:miu6elf3
特定種類のファイルとかはtext, image, folderとか
それ以外で二重以上だと分かっている時はx,y,z,w
4重ループより複雑な時は実装がおかしい
2020/03/29(日) 18:11:39.59ID:oXSmQy6i
pythonでも高階関数使いまくったらいい感じにスッキリできるんかな
内包表記でええやんってなりそうだな
2020/03/29(日) 18:17:29.94ID:TGQjvlT6
>>265
> 特定種類のファイルとかはtext, image, folder
これもアリでんな

>>262
目が滑るからやめとこうぜ

>>266
ハッシュ・ド・カレーだっけ?www
268デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:27:24.84ID:ZN7+uAYE
目が滑るとかいうワードセンス
2020/03/29(日) 18:43:00.28ID:V/YUnLMr
pythonやるために格安ノートPC買いたいんやけど必要スペックとかある?
2020/03/29(日) 18:50:50.72ID:TGQjvlT6
>>269
一番の問題はHDD容量だとおも。
俺のネットブックはHDDが64GBしかないから
あっぷあっぷしている。
無論CPUは速いほうがいいし、メモリも多いほうがいいのだが。

>>268
んじゃあ
老眼にキツイし、
そも、人間の指は同じキーを何度も打つのは苦手にできてるんだからやめとこうぜ
2020/03/29(日) 19:00:46.18ID:ryRl/n6a
>>265
x,y使うのは座標と分かっているときだけだなぁ。そのときは外側からt,z,y,x,(wかc)
2020/03/29(日) 19:50:47.51ID:wDs4yIM0
>>262
それやるぐらいならi1, i2, i3, …にするわ
273デフォルトの名無しさん
垢版 |
2020/03/29(日) 19:55:01.95ID:BsqKnoOv
>>249
ありがとうございます。使い方が間違っていたんですね。再度調べてみます。
>>250
>>251
ありがとうございます。seleniumでも試す際に参考にさせていただきますね。
2020/03/29(日) 20:59:47.09ID:vjV1ctf5
>>270
アザス
275252
垢版 |
2020/03/29(日) 22:58:26.58ID:4hib/jR0
>>252です
ありがとうございます
自分なりにルールを決めたものを使っていくことにします。
forに変数いらないのあるなんて知らなかったです
助かります
276デフォルトの名無しさん
垢版 |
2020/03/29(日) 23:46:57.95ID:lDauC8R5
>>269
> pythonやるために格安ノートPC買いたいんやけど必要スペックとかある?

格安ノートはわりとすぐに使えなくなる。
無駄遣いになる危険性があるぞ?
PCには金を使え。
もしプログラマやデータサイエンティストになりたいなら。
2020/03/29(日) 23:58:53.69ID:I9YrUVvq
別にクライアントサイドでプログラミングしなくてもいいんでないかい
2020/03/30(月) 00:15:31.86ID:3rsb7aJk
>>276
いまはやり?のビッグデータ解析とか
自然言語だの画像だのをみて、判別してくれるAIにちゃーれんじするなら、
自分のノートのスペックなんかより
ぶっちゃけ、契約するスパコンのスペックががが
2020/03/30(月) 04:15:40.93ID:ZTnAFgeB
>>276
Colaboratory
https://colab.research.google.com/notebooks/intro.ipynb
Azure Notebooks
https://docs.microsoft.com/ja-jp/azure/notebooks/azure-notebooks-overview
オンラインでプログラミングして実行できるサイト
https://qiita.com/tttamaki/items/2b009aa957cfa4895d50
現役シリコンバレーエンジニアが教えるPythonで始めるスクラッチからのブロックチェーン開発入門
https://www.udemy.com/course/python-blockchain/
¥1,380 元の価格¥17,400 割引率92%OFF
この価格で購入できるのはあと1日!
280デフォルトの名無しさん
垢版 |
2020/03/30(月) 09:22:04.61ID:RfAeds48
>>258
pythonにもperlの$_変数を導入しようって話か?
やっぱり変数宣言なんて不必要で、みんながみんな決められた記号を使えば、誰にも分かるコードが出来上がるじゃないか
281デフォルトの名無しさん
垢版 |
2020/03/30(月) 09:25:34.42ID:RfAeds48
無論prologにも無名変数として_が用意されてる
ttp://karel.tsuda.ac.jp/lec/prolog/intro2/

ならもう変数命名自体を排除した方がいいのでは
2020/03/30(月) 10:36:50.26ID:Ww8SKZwH
ここってプログラム以前の問題もありですか?
私はターミナルを使うのにあまり慣れていません。
python2.7.3を使わなければならない用事ができました。
macでpyqt4を使おうと思いましたがインストールがうまくいっていないようです。
https://qiita.com/aical/items/2d066801a7464a676994の通りにしました。
ターミナル↓
hogenoMacBook-puro:~ hoge$ pyuic4
Traceback (most recent call last):
File "/Users/hoge/.pyenv/versions/anaconda-4.0.0/lib/python2.7/site-packages/PyQt4/uic/pyuic.py", line 26, in <module>
from PyQt4 import QtCore
ImportError: No module named PyQt4

pyuic4を使うとインストールができたかどうか確かめられるとのことで使いましたが、
どうやらpythonが認識していないようです。
pyqt4がありそうに見えるのにno moduleと言われるので困っています。

これが現在の様子です
hogenoMacBook-puro:~ hoge$ python
Python 2.7.13 |Anaconda 4.0.0 (x86_64)| (default, Dec 20 2016, 23:05:08)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
283282
垢版 |
2020/03/30(月) 11:05:28.11ID:Ww8SKZwH
mojave 10.14.6です
2020/03/30(月) 18:35:12.90ID:YcK6aFmi
>>282
PyQt4がインストールされていない

conda install pyqt=4

それでも出るようなら環境変数PYTHONPATHを設定してパスを通す

export PYTHONPATH=$HOME/.pyenv/versions/anaconda-4.0.0/lib/python2.7/site-packages
2020/03/30(月) 19:03:31.14ID:Ww8SKZwH
>>284
ありがとうございます。解決しました。
conda install pyqt=4 はつい先ほどマニュアルを読んで実行したはずが
なぜか追加要素がたくさんあって驚きました。
それでも解決しませんでしたが、次にパスを通すことでうまくいきました。
286デフォルトの名無しさん
垢版 |
2020/03/30(月) 19:46:36.95ID:77mzFAH1
一昨日こちらでスクレイピングの質問し回答を参考にさせていただいたものです。
エラーが起きなければ25件titleとURLが取得できると思うのですが、5件しか表示させず
IndexError: list index out of rangeとなってしまいます。
指定しているインデックスの問題だと思い番号をかえたりしてみましたが改善されません。何が原因なんでしょうか?

import requests
from bs4 import BeautifulSoup

page_url ="https://news.yahoo.co.jp/topics/top-picks";
r = requests.get(page_url)

soup = BeautifulSoup(r.text, features="html.parser")

a_tags = soup.find_all("li", class_="newsFeed_item")

data = []
for h1_tag in a_tags:
tmp_article_a_tag = h1_tag.find_all("a")[0]
title = tmp_article_a_tag.text
url = tmp_article_a_tag.get("href")
print("title:{} url:{}".format(title, url))

data.append([title, url])
2020/03/30(月) 19:57:53.66ID:mLHxpijy
今日日anacondaって使うメリットあるか?
2020/03/30(月) 20:08:48.06ID:YcK6aFmi
>>287
Anacondaはシステムのライブラリが足りない場合でも動くので、そういう環境の人は使えると思うよ

例えばCentOS系でDockerが使えない場合、ライブラリが古い場合でも必要なライブラリはAnacondaがインストールするので新しいpythonが使える

他には機械学習関係でcudaやcudnn等のNvidia環境を構築するのは圧倒的に楽
バージョンの干渉で迷う事はほぼない

.bashrcや.zshrcにデフォルトでAnacondaを設定するとデフォルトのPythonと環境が違うのでトラブルの元になるけど、毎回sourceコマンドを叩くのも面倒なので利便性とのトレードオフかな
2020/03/30(月) 20:17:25.67ID:UMPMfaDu
venvみたいなめんどくさいことするならanaconda入れる方がよっぽど楽だけどね。
PATH設定くらいだからそこまで問題がわからなくなることが多いとも思わん。
2020/03/30(月) 20:22:12.99ID:mLHxpijy
condaに入ってないライブラリをpipで持ってきて地獄を見たことがあるから、最近はpoetry使ってる
今の主流はpipenvなのかな?
2020/03/30(月) 20:31:02.36ID:tCK+oDY4
conda使ってるのにpipで入れてる上になんか入らないやつ手動でsite-packageフォルダにコピーしてるけどダメなの?
2020/03/30(月) 20:35:02.16ID:UMPMfaDu
>>290
それさらに地獄みるやつやん。。
2020/03/30(月) 20:42:23.05ID:OS5ajOLp
いい加減、ライブラリ・パッケージ管理ツールを統一して欲しいもんだが
次々と新しいものが出てくるばかりでどうにもならんな
2020/03/30(月) 20:49:01.25ID:Ww8SKZwH
追加で質問です
$conda install -c dan_blanchard pyenchant でインストールしようとしていますが、
10分経っても終わりません。なにかいい方法はないでしょうか。
Collecting package metadata (repodata.json): \  ←この棒がずっと回っている
2020/03/30(月) 20:51:17.33ID:Ww8SKZwH
anacondaを使った理由はたまたまネットで見つけたページにそう書いてあったからです。
私はとあるソフトを使いたいだけでプログラミングについてはよくわかりません。
2020/03/30(月) 20:54:47.63ID:UuzilOkY
>>286
ブラウザの開発ツールでページ構造よく見てみ
5個ごとに入ってる広告がliの直下はaタグではなくdivになってるから
2020/03/30(月) 22:50:27.26ID:OeGDYM8m
ちょ、python最新版にしたらkerasが対応ついてきてなくて積んだww
2020/03/30(月) 23:06:45.02ID:BJjh8Wtl
keras, ras, whatever will be will be.
299250
垢版 |
2020/03/30(月) 23:17:49.32ID:+W5CUrfY
>>286
Ruby で作ったけど、最初の部分は省くけど、( >>251 を参照)

li.newsFeed_item の子孫のa は、29件で、li.newsFeed_item の直下のa は、25件。
Python のfind_all("a")[0] は、子孫も含めるのじゃないか?

出力は、こういう感じ
title:富士フ、アビガン治験開始へ3/30(月) 22:52 url:https://news.yahoo.co.jp/pickup/6355698
title:大連市 北九州にマスク20万枚3/30(月) 22:40 url:https://news.yahoo.co.jp/pickup/6355699

doc = Nokogiri::HTML( driver.page_source )

elements = doc.css( "li.newsFeed_item" )

# li.newsFeed_item の子孫のa は、29件
results = elements.map { |elem| elem.at_css( "a" ) }
puts results.length
results.each { |elem| puts "title:#{ elem.text } url:#{ elem.attr( "href" ) }" }
puts "------------------------------------"

# li.newsFeed_item の直下のa は、25件
ary = elements.each.each_with_object( [ ] ) do |elem, ary|
elem.children.each do |child|
if child.node_name == "a"
ary.push child
break
end
end
end

puts ary.length
ary.each { |elem| puts "title:#{ elem.text } url:#{ elem.attr( "href" ) }" }
300デフォルトの名無しさん
垢版 |
2020/03/30(月) 23:20:19.63ID:w//nIWz4
昨日から学習始めました。
pandasで質問なんですが、このようなDataFrameがあるとして、

日付    スコア
2020-03-01   20
2020-03-02   15
2020-03-03   25
 ︙
↑これにカラムを追加して累積のスコアを取得したいです。

日付    スコア  累積
2020-03-01   20   20
2020-03-02   15   35
2020-03-03   25   60
 ︙

カラムの追加は出来ています。
データは長いものなんですが、forを使うんですかね?
それともちょうどいいメソッドみたいなものがあるんでしょうか?
くだ質ですけどよろしくお願いします。
301デフォルトの名無しさん
垢版 |
2020/03/30(月) 23:25:59.36ID:jw5yj4PZ
このスレの上の方に答えあるぞ
2020/03/30(月) 23:27:22.57ID:2w3kRjBE
この辺組み合わせろ
cumsum
Series
concat
2020/03/30(月) 23:29:30.28ID:w//nIWz4
>>301
>>302
ヒントありがとうございます!
304デフォルトの名無しさん
垢版 |
2020/03/30(月) 23:29:55.66ID:FpzyYz24
https://qiita.com/kyoro1/items/b7f9b26e93df85984f51
305294
垢版 |
2020/03/30(月) 23:36:43.49ID:Ww8SKZwH
何度もすいません 環境書いてなかったので
mac mojave10.14.6 python2.7.3 anaconda で pyenchantを入れようとして
conda install -c dan_blanchard pyenchant を使ったものの
Collecting package metadata (repodata.json): / が数時間ほど出続けて一向に終わりません。
conda install pyenchantも試しましたが同じような結果でした。
IDEは多分xcordだと思います。
2020/03/31(火) 01:18:04.40ID:UiwRagcc
>>302
出来ました!ありがとうございます!
嬉しい!
2020/03/31(火) 11:51:47.38ID:b44czDa9
>>305
それはlinux用だからmac用の探してインストールしたら?
https://anaconda.org/search?q=pyenchant
https://anaconda.org/natx/pyenchant とか
conda install -c natx pyenchant
308305
垢版 |
2020/03/31(火) 13:29:13.56ID:+y4wT+20
やってみましたが特に変わらないです。10分ほど待ちましたがまだ同じ文章が出て回ってます
309デフォルトの名無しさん
垢版 |
2020/03/31(火) 13:32:41.19ID:fqZmXB15
ありがとうございます。再度構造を確認したら間違っていることに気がつきました。

>>299
参考になりました。ありがとうございます。findの使い方、ページの構造を理解しきれてなかったので基本から見直してみます。
2020/03/31(火) 16:00:25.21ID:jiTc7pCb
>>309
いまこそ、新しい知識を身につけよう!インプレスの人気書籍ムックを3月31日まで全文無料公開
https://book.impress.co.jp/items/tameshiyomi
AndroidでもPythonが使いたい - Termuxを始めよう
https://news.mynavi.jp/article/zeropython-59/
JavaScriptで動かそうobniz S
https://obniz.io/ja/products/starterkit
2020/03/31(火) 16:58:32.63ID:1xgVifiL
>>308
アンカーを省略するんじゃない

権限は足りてるか?

最近のMacOSなら、ルートレスが悪さをしてるかもしれないので
一時的にでも切ってやってみそ
312307
垢版 |
2020/03/31(火) 17:06:20.92ID:b44czDa9
>>308
ゴメン linux用のパッケージ入れようとしてたのが原因なら、無反応じゃなくてエラーになってたはずだね

condaのバグでそういう症状が報告されてるから、そっちかな
(Anaconda 4.0.0なら関係ないかもだけど、condaをアップデートしてたらありえそう)
https://github.com/conda/conda/issues/9221
mmoisseさんのコメントに従ってsubdir_data.pyを編集しないとダメなんだけど、無理そうならpython3で試すとか
この修正はcondaに取り込まれないので( https://github.com/conda/conda/pull/9600 )、もしこれが原因なら、待ってても(python2では)直らないと思う
2020/03/31(火) 20:53:43.52ID:HDRrREDo
【速報】東京都が #新型コロナウイルス 感染症死亡者数を過少評価か、

「例年より少ない」とされていたインフルエンザ関連死が急増=国立感染症研究所
https://www.niid.go.jp/niid/ja/flu-m/2112-idsc/jinsoku/1852-flu-jinsoku-7.html


コロナで死んだのインフルに振り替えてるんじゃまいか
こういうニュースが出てくる時点で隠蔽はもう無理
おそらくパンデミックは避けられないと思うね
314308
垢版 |
2020/03/31(火) 22:09:38.19ID:+y4wT+20
>>311
・アンカー省略して申し訳ないです
・私はこのmacの管理者です。それ以上のことはわかりません
・切りましたが変化ないです
>>312
・python2を使う必要があります
・anaconda4.0.0 でconda 4.8.3 py27_0 のようです(conda listで出しました)
・そのプログラムを==から<にすればいいのはわかりましたが方法がわかりません
そもそも場所もわかりません
2020/03/31(火) 22:09:46.61ID:1xgVifiL
┐(´д`)┌ 現状をまだパンデミックだと認めてないのはただの政治判断ッショ
2020/03/31(火) 22:10:50.21ID:1xgVifiL
>>315>>313宛な

自分でアンカー省略するなといっといてコレとはなさけなや (´・ω・`)トボーン
2020/03/31(火) 22:13:29.92ID:1xgVifiL
>>314
312氏の投稿のほうが当たりっぽく
かつ
Python2系縛りがあるとなると、
308のナウのパウァーでは
どーにもならないっぽいな・・・
condaがばぐっててむりでした。どーしましょ ってさっさと上に相談してみる に1票。
318デフォルトの名無しさん
垢版 |
2020/03/31(火) 23:55:02.12ID:1uZzdSX9
>>300
df = df.assign(累積=np.cumsum(df['スコア']))
で1行で出来ますよ
319デフォルトの名無しさん
垢版 |
2020/04/01(水) 06:25:50.38ID:wvARRrAt
sys.stdout.buffer.write(b"\x41"*10)
ってやると「AAAAAAAAAA10」って表示されるんですけどこの最後の10ってなんですか?
これの取り方を知りたいです
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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