X



くだすれPython(超初心者用) その47【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
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/
0205デフォルトの名無しさん
垢版 |
2020/03/24(火) 15:28:42.83ID:2IImYa+R
Google「…」
0209デフォルトの名無しさん
垢版 |
2020/03/24(火) 17:40:47.85ID:BIkwDKwH
>>208
WEB系とはWEB技術を使って業務システムを作ること
オープン系の対義語
またそれらの企業は「他者の依頼によって開発」ではなくて自社開発

>>206
日本だったらこれが常識だよね
COBOL、VB、Javaが職業プログラマの基本
さらに言うならOracle、SQLServer、DB2も習得していると望ましい
Pythonって要するに日本でいうBASICと同じ立ち位置
例えば最も普及しているBASICであるExcelVBAがいくら便利でもそれで基幹システムつくらないよねって話

GoogleだってPythonはタスク管理程度にしか使ってない
大事なところは別言語(時代によって採用言語は変わるがPythonではない)

あと、よく言われるけどPepperもPythonじゃないからな
あれはユーザー側が簡易に制御できる言語としてPythonを採用してるだけだ
0210デフォルトの名無しさん
垢版 |
2020/03/24(火) 18:11:00.45ID:AIaPjsf6
>例えば最も普及しているBASICであるExcelVBAがいくら便利でもそれで基幹システムつくらないよねって話

これでド素人ということが分かった
0211デフォルトの名無しさん
垢版 |
2020/03/24(火) 18:23:40.38ID:vOY7KxyH
基幹システムといえるかどうか微妙だが
情報システム部門で日報作るのにExcelマクロ必須だったな
0214◆QZaw55cn4c
垢版 |
2020/03/24(火) 19:37:14.98ID:KtfI6cNR
>>209
>Oracle、SQLServer、DB2も習得していると望ましい
ちょっと古いのでは?
今は postgreSQL
0217デフォルトの名無しさん
垢版 |
2020/03/24(火) 21:18:52.66ID:PjM8J8DG
12345678みたいな入力を\x78\x56\x34\x12に変換するライブラリってありませんか?

もしくは今そんな感じの自作モジュールを作ろうとしてて、
/usr/bin/mymodule/
以下にchange.py、その中に入れる関数の方のchange(s)まではできたんですが
from mymodule import change
change.change(s)
と毎回関数changeを呼び出す為に2回書かなきゃいけないのが気に入らないので
この関数changeを一発でimportする方法を教えてください
ワンライナーでも多用する予定なので、できる限りタイピングする文字数を小さくしたいんです
0218デフォルトの名無しさん
垢版 |
2020/03/24(火) 22:55:36.92ID:UBy3gEYu
>>211
全然微妙じゃなくて吹いたわw

Excel VBAで基幹システムって言ってるやつは
UI部分にExcelとVBAを使ってるって話だろ
0220デフォルトの名無しさん
垢版 |
2020/03/24(火) 23:16:28.47ID:PjM8J8DG
>>219
あ、すみません後半のchange.change(s)みたいにファイル名と関数名を
一々書かなきゃいけない方が嫌なだけで、一行目のimportは当然OKです
python -c "import change(もしくはfrom 〇〇 import change);change(s)"
みたいな感じの物を実現したいです。
0221デフォルトの名無しさん
垢版 |
2020/03/24(火) 23:36:57.77ID:LPFDXKjv
いまやPythonは基幹システムに使われるメジャー言語になっているから
職業プログラマが必死にPythonをやっているからな
0223デフォルトの名無しさん
垢版 |
2020/03/25(水) 01:43:26.05ID:E7HPnXVD
>>222
ありがとうございます!
importのやり方普通のやつとfrom ~ import ~しか分かってませんでした、反省します
0224デフォルトの名無しさん
垢版 |
2020/03/25(水) 03:28:12.51ID:BoSHYqnZ
自分の周りでは少なくとも、治自体関係、医療関係(レセプト、電子カルテ等)、
運送・運輸関係の基幹システムをPythonで構築しているという話は聞いた事
がない。コールセンター(CTI、IVR等)関係のシステムをPythonで構築している
という話も聞いた事がない。

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

それとも情報系システムと勘違いしているのか。
0229デフォルトの名無しさん
垢版 |
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

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

他言語のコード書いてるときでも、データ変換やある程度決まりきったコードなんかはPythonで生成したりしてるが便利だよ。他言語で書いたアルゴリズムが間違ってないかの検証なんかにも使えるし。
0234デフォルトの名無しさん
垢版 |
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'
0235デフォルトの名無しさん
垢版 |
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')
で使える
0236デフォルトの名無しさん
垢版 |
2020/03/25(水) 20:53:06.37ID:E7HPnXVD
>>234
>>235
ありがとうございます、ただやりたいのは入力数値をそのまま\x78\x56……
みたいな方式に変えたいことで16進数に変換されるとちょっと不都合が
セキュリティ本のシェルコード挿入でそういう入力多かったので作ろうと思ったんですが
もしかして普通は上みたいな入力使う機会ないんですかね?
0237デフォルトの名無しさん
垢版 |
2020/03/25(水) 20:59:06.96ID:i/r3a70w
ごめん何言ってるか判らないω
0238デフォルトの名無しさん
垢版 |
2020/03/25(水) 21:11:26.87ID:mIdHRgzi
>>236
\x78
は16進数で78のことを表している

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

\x78\x56...みたいな16進バイト列を作りたいんだけど、16進数にされるとちょっと困る、と言われても、こっちも困る
0239デフォルトの名無しさん
垢版 |
2020/03/25(水) 21:19:52.75ID:XgBtMRgR
要するにchange.change(s)って毎回書くのだるいからchange(s)って書くにはどうすればいいかってこと?
0240デフォルトの名無しさん
垢版 |
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
0241デフォルトの名無しさん
垢版 |
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バイトとして評価される
0242デフォルトの名無しさん
垢版 |
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のウインドウの下に非アクティブでファイル選択ウインドウが立ち上がります。
ファイル選択ウインドウを再前側でアクティブウインドウとして立ち上げたいのですがどうすればいいのでしょう?
0243デフォルトの名無しさん
垢版 |
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()

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

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

というのが、正しい質問でした
ご存知の方いらっしゃいましたら教えて下さい
0247デフォルトの名無しさん
垢版 |
2020/03/27(金) 23:36:36.81ID:wFQ5Bfhf
>>246

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

もうわからないから、
print('この画面を最小化してね’)
とでもしようかと思ってたw
0248デフォルトの名無しさん
垢版 |
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")
0250デフォルトの名無しさん
垢版 |
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
0251250
垢版 |
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
0252デフォルトの名無しさん
垢版 |
2020/03/29(日) 12:43:01.48ID:4hib/jR0
すいません、ちょっと教えてもらいたいのですが
for x in ...
とかで文字を使っちゃうとまた次のforのときに
またx使うか迷うんですけどどうしてますか?
iみたいに毎回同じ文字使ってますか???
特に短いforがいくつもあるときに悩みます
0253デフォルトの名無しさん
垢版 |
2020/03/29(日) 12:53:10.19ID:TGQjvlT6
>>252
入れ子になってる等やむをえない事情がないのなら、
新たな文字など使わずに
むしろ
どんどんxなりiなりを再利用したまへ。

「どーでもいい?forループ回すときはいつもiな!」みたいな
俺ルールの徹底は
後日メリットばっかりだぞ。
0256デフォルトの名無しさん
垢版 |
2020/03/29(日) 15:31:33.32ID:a0L6N7lT
>>254
そのルールでチェックできるlinterってない?

ループの外では使うのは気持ち悪いからやらないけど
セーフガードは持っておきたい
0257デフォルトの名無しさん
垢版 |
2020/03/29(日) 15:48:30.19ID:7B/pleQ/
特に用が無いなら for _ in list:
0265デフォルトの名無しさん
垢版 |
2020/03/29(日) 17:43:26.03ID:miu6elf3
特定種類のファイルとかはtext, image, folderとか
それ以外で二重以上だと分かっている時はx,y,z,w
4重ループより複雑な時は実装がおかしい
0266デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:11:39.59ID:oXSmQy6i
pythonでも高階関数使いまくったらいい感じにスッキリできるんかな
内包表記でええやんってなりそうだな
0267デフォルトの名無しさん
垢版 |
2020/03/29(日) 18:17:29.94ID:TGQjvlT6
>>265
> 特定種類のファイルとかはtext, image, folder
これもアリでんな

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

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

>>268
んじゃあ
老眼にキツイし、
そも、人間の指は同じキーを何度も打つのは苦手にできてるんだからやめとこうぜ
0273デフォルトの名無しさん
垢版 |
2020/03/29(日) 19:55:01.95ID:BsqKnoOv
>>249
ありがとうございます。使い方が間違っていたんですね。再度調べてみます。
>>250
>>251
ありがとうございます。seleniumでも試す際に参考にさせていただきますね。
0275252
垢版 |
2020/03/29(日) 22:58:26.58ID:4hib/jR0
>>252です
ありがとうございます
自分なりにルールを決めたものを使っていくことにします。
forに変数いらないのあるなんて知らなかったです
助かります
0276デフォルトの名無しさん
垢版 |
2020/03/29(日) 23:46:57.95ID:lDauC8R5
>>269
> pythonやるために格安ノートPC買いたいんやけど必要スペックとかある?

格安ノートはわりとすぐに使えなくなる。
無駄遣いになる危険性があるぞ?
PCには金を使え。
もしプログラマやデータサイエンティストになりたいなら。
0278デフォルトの名無しさん
垢版 |
2020/03/30(月) 00:15:31.86ID:3rsb7aJk
>>276
いまはやり?のビッグデータ解析とか
自然言語だの画像だのをみて、判別してくれるAIにちゃーれんじするなら、
自分のノートのスペックなんかより
ぶっちゃけ、契約するスパコンのスペックががが
0279デフォルトの名無しさん
垢版 |
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日!
0280デフォルトの名無しさん
垢版 |
2020/03/30(月) 09:22:04.61ID:RfAeds48
>>258
pythonにもperlの$_変数を導入しようって話か?
やっぱり変数宣言なんて不必要で、みんながみんな決められた記号を使えば、誰にも分かるコードが出来上がるじゃないか
0281デフォルトの名無しさん
垢版 |
2020/03/30(月) 09:25:34.42ID:RfAeds48
無論prologにも無名変数として_が用意されてる
ttp://karel.tsuda.ac.jp/lec/prolog/intro2/

ならもう変数命名自体を排除した方がいいのでは
0282デフォルトの名無しさん
垢版 |
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
0283282
垢版 |
2020/03/30(月) 11:05:28.11ID:Ww8SKZwH
mojave 10.14.6です
0284デフォルトの名無しさん
垢版 |
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
0285デフォルトの名無しさん
垢版 |
2020/03/30(月) 19:03:31.14ID:Ww8SKZwH
>>284
ありがとうございます。解決しました。
conda install pyqt=4 はつい先ほどマニュアルを読んで実行したはずが
なぜか追加要素がたくさんあって驚きました。
それでも解決しませんでしたが、次にパスを通すことでうまくいきました。
0286デフォルトの名無しさん
垢版 |
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])
0288デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:08:48.06ID:YcK6aFmi
>>287
Anacondaはシステムのライブラリが足りない場合でも動くので、そういう環境の人は使えると思うよ

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

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

.bashrcや.zshrcにデフォルトでAnacondaを設定するとデフォルトのPythonと環境が違うのでトラブルの元になるけど、毎回sourceコマンドを叩くのも面倒なので利便性とのトレードオフかな
0289デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:17:25.67ID:UMPMfaDu
venvみたいなめんどくさいことするならanaconda入れる方がよっぽど楽だけどね。
PATH設定くらいだからそこまで問題がわからなくなることが多いとも思わん。
0290デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:22:12.99ID:mLHxpijy
condaに入ってないライブラリをpipで持ってきて地獄を見たことがあるから、最近はpoetry使ってる
今の主流はpipenvなのかな?
0291デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:31:02.36ID:tCK+oDY4
conda使ってるのにpipで入れてる上になんか入らないやつ手動でsite-packageフォルダにコピーしてるけどダメなの?
0293デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:42:23.05ID:OS5ajOLp
いい加減、ライブラリ・パッケージ管理ツールを統一して欲しいもんだが
次々と新しいものが出てくるばかりでどうにもならんな
0294デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:49:01.25ID:Ww8SKZwH
追加で質問です
$conda install -c dan_blanchard pyenchant でインストールしようとしていますが、
10分経っても終わりません。なにかいい方法はないでしょうか。
Collecting package metadata (repodata.json): \  ←この棒がずっと回っている
0295デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:51:17.33ID:Ww8SKZwH
anacondaを使った理由はたまたまネットで見つけたページにそう書いてあったからです。
私はとあるソフトを使いたいだけでプログラミングについてはよくわかりません。
0296デフォルトの名無しさん
垢版 |
2020/03/30(月) 20:54:47.63ID:UuzilOkY
>>286
ブラウザの開発ツールでページ構造よく見てみ
5個ごとに入ってる広告がliの直下はaタグではなくdivになってるから
0299250
垢版 |
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" ) }" }
0300デフォルトの名無しさん
垢版 |
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を使うんですかね?
それともちょうどいいメソッドみたいなものがあるんでしょうか?
くだ質ですけどよろしくお願いします。
0301デフォルトの名無しさん
垢版 |
2020/03/30(月) 23:25:59.36ID:jw5yj4PZ
このスレの上の方に答えあるぞ
0305294
垢版 |
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だと思います。
■ このスレッドは過去ログ倉庫に格納されています

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