X



くだすれPython(超初心者用) その36
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/01/01(月) 20:18:42.82ID:iOcRvNll
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その35
http://mevius.5ch.net/test/read.cgi/tech/1496411341/
VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
0338遊園地
垢版 |
2018/02/11(日) 01:03:33.40ID:RRTIuu7j
俺の知識だと>>332が実行できない。

誰か解説して。

NameError: name 'itertools' is not defined
AttributeError: 'list' object has no attribute 'groupby'


itertools=[] で 取り敢えず定義して、
  list'オブジェクトに 'groupby'属性がありません
ここで躓いてる。
0340遊園地
垢版 |
2018/02/11(日) 08:39:56.59ID:RRTIuu7j
>>339 ありり
import itertools が居るんか。
TypeError: unsupported operand type(s) for +: 'int' and 'tuple'

面倒だから降参する。
0341デフォルトの名無しさん
垢版 |
2018/02/11(日) 09:02:42.80ID:Lbo8qBAq
>>317
namedtupleの第一引数はサブクラス名?として内部的に使われるものであり、
定義行以降のコーディングには表れないって理解でいいんですかね?
C言語の構造体タグのように、後からコーディングに使うためにあるのかと思ってました
0344デフォルトの名無しさん
垢版 |
2018/02/11(日) 09:27:26.04ID:zffMkL6z
>>318
とりあえずset内包表記を使ったほうがシンプルじゃないかと思った
names = {i for i in df[“名前”]}
0346遊園地
垢版 |
2018/02/11(日) 10:53:33.52ID:RRTIuu7j
>>342

 >>332のコードを実行

それだと、>>332が、どうやって通したのか分からないだろ?
0347遊園地
垢版 |
2018/02/11(日) 10:55:21.16ID:RRTIuu7j
形が違うなら、
どうやって、処理を通したのか。
0348デフォルトの名無しさん
垢版 |
2018/02/12(月) 17:59:56.24ID:MzkFBckq
リストの中のリストの要素を取り出して、別のリストにしたいのですが、どうすれば良いですか?

例えば

list = [[[1, 2, 1],[1, 1, 3]], [[1, 5, 1], [5, 9, 10]], [[ 100, 25, 1], [ 6, 9, 23]]]

の2番目の数を順番に取り出して、

a =[2, 1, 5, 9, 25, 9]

にしたいのですが…
整数とか文字列だけのリストの操作は
例えば
a[0] で 2 を取り出せるとかで分かるんですが、リストの中のリストの要素を操作する方法がさっぱりで…
0351デフォルトの名無しさん
垢版 |
2018/02/12(月) 19:13:09.40ID:MzkFBckq
>>349-350
ありがとうございます!
こんな簡単に出来るとは…
for とか range(len()) とか使ったりして3時間くらい悩んでました…w

本番のHSVにした画像(1500×500)から色相を抜き出す作業をしたらpythonが固まりました。処理が多いんですかね…悩んで書いたコードが全部消えちゃって悲しいですw
0353デフォルトの名無しさん
垢版 |
2018/02/13(火) 04:43:34.40ID:CThJWgS6
>>351
pythonは悪くない
お前が糞コード書いたから
0354遊園地
垢版 |
2018/02/13(火) 08:31:17.46ID:+eKUuXyG
画像処理は大体、グレースケールにして行うんだけど。
静止画像だから、GPU付け足せば、固まる事も無い。
0355デフォルトの名無しさん
垢版 |
2018/02/13(火) 10:11:09.44ID:fgBS1G35
>>352
わざわざありがとうございます!こちらの方が自分的に理解しやすいのでこちらにしよう…

>>354
すみません、取りたいのは色相じゃなくて明度でした
グレースケールでも元の画像でも同じ行程数だから重さも変わらないかなーと思ってそのままやっちゃいましたが、グレースケールの方が軽いんですかね…
何かむしろ作業量が増える気がしてw

今自分はBGRからHSVにして、1ピクセルごとの明度を抜き出そうとしてました
そのままのサイズでやると、確認のためリストを吐いてもらうときに固まるので、1/10のサイズにしましたがw
1万近い要素を抜き出すことになります
0356遊園地
垢版 |
2018/02/13(火) 10:31:24.02ID:+eKUuXyG
グレースケールなら通常画像の1/3で済む。
1万処理で固まるPCは画像処理に向いてないんじゃない。
0357デフォルトの名無しさん
垢版 |
2018/02/13(火) 11:12:46.98ID:fgBS1G35
>>356
あ、そうなんですね…グレーでも明度はそのままだしグレースケールにしてみます!ありがとうございます!

あ、リサイズ前の処理はたぶんもっと多いです
ピクセル数分だから100万くらい処理しますね
まぁインターネットとExcel等をするために買ったPCだから無理もないのかも…
0358デフォルトの名無しさん
垢版 |
2018/02/13(火) 12:35:02.76ID:IoOWXwkE
その程度の処理で、固まるPC なら、
JavaScript のブラウザゲームなんて出来ないだろ?

アプリ開発用PC は、コンパイルとかするから、
普通のPC よりも高性能なものがいる
0360遊園地
垢版 |
2018/02/13(火) 12:59:57.30ID:+eKUuXyG
ネタ発言として、
100万処理でもRaspberrypi3にMovidius Neural Compute Stick刺した時より、
劣ってたら駄目だろ。


100万処理の書き出しにフリーズするPCってw
108円から324円で売ってるPentium 4
以下の性能って事なになるぞ。
0361デフォルトの名無しさん
垢版 |
2018/02/13(火) 13:52:49.62ID:fgBS1G35
ゲームはしたことないので分かりませんが、youtubeを2つ同時に動かしながらFlashを見るとちょっと重いですね
そうなんですね…他言語にも手を出すなら買い換えるかなあ

PCはフリーズしませんよ
pythonが止まるんです
正確には、リストの中身をshellにprintしたら、処理中にIDLE自体が応答なしになります
10分放置してもダメでした
PC自体は普通に動きます
0362デフォルトの名無しさん
垢版 |
2018/02/13(火) 13:59:55.20ID:1/hdA564
標準出力への出力は結構重いよ
だからnumpyやpandasのような気が利いたライブラリは、データが増えすぎると省略表示する
0363デフォルトの名無しさん
垢版 |
2018/02/13(火) 14:51:53.64ID:IoOWXwkE
Python 内でメモリオーバーとか、
プログラムにバグがあるとか、
大量のデータをコピーしてるとか

何もプリントせず、プログラムの最後まで到達したかどうかだけを確かめれば?

たぶん、Python ではなく、君の勘違い
0364デフォルトの名無しさん
垢版 |
2018/02/13(火) 19:15:03.17ID:hE+D2prK
無限ループ作ってそうな気がするけど
0365遊園地
垢版 |
2018/02/13(火) 19:32:04.19ID:+eKUuXyG
テキスト書き出しに,print()なんて使わない。
確認のprint消して、ファイル書き込み。

それでも、軽量のIDLEが固まる事は無いけどな。

○ pythonエディターのIDLEが固まる
× pythonが固まる

標準出力関数 print さえ、消したらどうにか成るだろう。
0366デフォルトの名無しさん
垢版 |
2018/02/13(火) 21:26:04.89ID:fgBS1G35
>>362-365
そんな仕組みが…print がだめみたいだったですね
1/10の画像サイズで成功したプログラムを元のサイズに直して実行したら成功しました

皆さんのお陰で当初の目的は無事果たせました
ありがとうございます
初心者とはいえ、たった50行に3日もかかるとか雑魚過ぎですなw
0367遊園地
垢版 |
2018/02/13(火) 22:01:48.22ID:+eKUuXyG
優秀すぎ。
俺なんて、読み込むモジュール1つ増やしたら3行で一日掛かってる。
0368デフォルトの名無しさん
垢版 |
2018/02/13(火) 22:04:34.16ID:6NbXP/1F
なんや100万処理てw100万石みたいやなwww
0369遊園地
垢版 |
2018/02/13(火) 23:10:55.90ID:+eKUuXyG
10年前のPCで1億の処理回したら7分掛かった。

for i in range(100000000):
□print(i,end='')
#100000000回
#402.4338073730469[sec]
print(402/60)#6.7分
0370デフォルトの名無しさん
垢版 |
2018/02/15(木) 00:06:13.06ID:4IR3nEq8
教えてください、
pythonに、
sudo pip install 〜
こういう文字で始まる、
ライブラリを、インストールしたいのですが、
コマンドプロンプトに、コピーしても、
sudoは、内部コマンド外部コマンド〜
みたいな、エラーがでてインストールできません、
sudo pip こんなライブラリをどうやったら、インストールできますか?
0371デフォルトの名無しさん
垢版 |
2018/02/15(木) 00:22:12.16ID:sRt28JPf
PCはそんなやり方だけどスマホにはそんなやり方じゃなく
python -m pip install 〜
0372デフォルトの名無しさん
垢版 |
2018/02/15(木) 00:24:38.81ID:4IR3nEq8
PCにインストールしたいんですが、
OSはwindows7です、
sudo pip〜のライブラリを、どうやったらインストールできますか。
0374デフォルトの名無しさん
垢版 |
2018/02/15(木) 00:44:22.38ID:15PIIn7q
WindowsならまずAnaconda入れろ
そしてAnacondaから絶対に出るな
Python関連のインストール操作はすべてAnacondaだけで行え
0375デフォルトの名無しさん
垢版 |
2018/02/15(木) 03:52:47.14ID:HRhAawjm
マジレスすると、WindowsでのpipはPowerShellかコマンドプロンプト使ってsudo無しで入れられる
PowerShellとかのアイコン選択時に右クリックして「管理者で実行」がsudoの代わり
> pip install 「モジュール名」

入れるモジュールによってはVisualStudioとWin10SDKがないとビルド出来ないし、パス設定も面倒だし、
Python3.6系だとUnicodeDecodeErrorでビルドに失敗したりする

初心者で全く意味が分からなければ、whl形式のファイル落としてきてオフラインインストールするか、
他の人のアドバイス通りAnaconda環境に変えた方が楽だと思う
0376デフォルトの名無しさん
垢版 |
2018/02/15(木) 05:12:30.34ID:NCxYQEU4
初心者の学習用ならvisual studio入れた方がいいと思うよ
インストーラでanaconda入るし
interactiveの補完が優秀だから
0377デフォルトの名無しさん
垢版 |
2018/02/15(木) 12:05:36.58ID:ewI90HZW
years=[“2015-04-11”,“2016-12-22”]
みたいなリストから西暦の下二桁のリストを作成するとき
pat=r‘[\d]{2}([\d]{2})‘
tes=[re.findall(pat,i)[0] for i in years]
ってやってるんですけど、なんか違和感があります(欲しい形は出てくる)
本当はどうやるのがベターなんでしょうか
0378遊園地
垢版 |
2018/02/15(木) 12:42:58.62ID:DdWb+fDC
years=["2015-04-11","2016-12-22"]
for i in years:
□print(i[2:4].split('-'))

データ型がソレなら正規表現はいらないんじゃねえ?
0379デフォルトの名無しさん
垢版 |
2018/02/15(木) 12:44:29.59ID:4lKXUWzM
sudo は、Ubuntu などの、Linux。
Windows, Mac, Linux など、OS の種類もわからない人には、プログラム開発は無理

Windows10 なら、WSL で、MS Store から、Ubuntu 16.04 を導入すると、
最初から、Python 3.5 が入っている

君のような素人なら、Windows7 なら、Anaconda にこもって、
それ以外のパッケージマネージャーを使わないようにする

VirtualBox, Vagrant で、Linux を使うとか、全くわからないだろ?
ls, cd, bash とか、Linux のコマンドを知ってるか?
0381遊園地
垢版 |
2018/02/15(木) 12:47:23.16ID:DdWb+fDC
連結したのが欲しいなら、適当な配列tesにでも突っ込めば良い。
0382遊園地
垢版 |
2018/02/15(木) 12:51:22.57ID:DdWb+fDC
お前、将来ハゲるな。
0384デフォルトの名無しさん
垢版 |
2018/02/15(木) 12:53:37.41ID:g5ZKDDcS
もの言うハゲ
0385デフォルトの名無しさん
垢版 |
2018/02/15(木) 12:55:09.77ID:4lKXUWzM
>>377-378
require 'date'

d = Date.parse('1993-02-24')
d.year #=> 1993

Ruby なら、Date 型に変換できる。
Python にも、同様のクラスがあるだろ
0387遊園地
垢版 |
2018/02/15(木) 13:07:18.42ID:DdWb+fDC
一般人の昼休みはオワリだな。
おつーーーwww
0388370
垢版 |
2018/02/15(木) 14:10:07.04ID:4IR3nEq8
githubから、
ZIPでダウンロードしてきて、
pythonで作った、pyプログラムとかがあるところに、
ファイルおいたら、ライブラリ使えるようになりました、
ありがとうございました、
少し成長しました!
0389デフォルトの名無しさん
垢版 |
2018/02/15(木) 14:18:24.86ID:eTKG3ZZ8
>>377
import datetime

years = ['2015-04-11', '2016-12-22']
dates = [datetime.datetime.strptime(year, '%Y-%m-%d') for year in years]
lowwer_digits_of_years = [date.strftime('%y') for date in dates]
0390遊園地
垢版 |
2018/02/15(木) 14:57:38.79ID:DdWb+fDC
>>389
まあ、真面目に書くならコレやな。
0394デフォルトの名無しさん
垢版 |
2018/02/16(金) 01:14:52.16ID:Yz3zJ/9Z
プログラム全体を、
指定回数繰り返すにはどうしたらいいですか?
0395デフォルトの名無しさん
垢版 |
2018/02/16(金) 06:37:00.42ID:2VV1tK2j
>>362
重いならJuliaに乗り換えよう。
0399デフォルトの名無しさん
垢版 |
2018/02/16(金) 09:45:57.06ID:Yz3zJ/9Z
>398
シェルスクリプトっていうのがあるのか、
ありがとお。
0402デフォルトの名無しさん
垢版 |
2018/02/16(金) 18:15:36.40ID:25jf/8BW
リファレンス本が欲しいのですが3系にちゃんと対応している本ってありますか?
0403デフォルトの名無しさん
垢版 |
2018/02/16(金) 18:49:00.87ID:GMHRcYNg
いっぱいある
0405デフォルトの名無しさん
垢版 |
2018/02/16(金) 19:30:31.00ID:OT98fh5E
Pythonはオブジェクトの種類が多すぎて困る
イテラブルとイテレータの違いを説明できる人いる?
ていうかイテラブルって繰り返し可能っていう意味の形容詞だと思ってたわ
0406デフォルトの名無しさん
垢版 |
2018/02/16(金) 19:42:42.63ID:ERz9QjBU
>>405
ある程度Pythonでプログラム作成できる初級者レベルの奴なら当然できないと駄目だろうが、
でも、ここは超初心者が大多数だから出来る奴は少ないんじゃないのかな

遊園地なら余裕でイテラブルとイテレータの違いを説明できるから期待して待て
0407デフォルトの名無しさん
垢版 |
2018/02/16(金) 19:56:24.32ID:WNml02Hz
iter()で返ってくるオブジェクトがiteratorで
iter()によってiteratorを返すようなオブジェクトつまり__iter__()か__getitem__()を実装するようなオブジェクトがiterable objectってことじゃないの
つまり[1, 2, 3]はiterable objectで
iter([1, 2, 3])がiteratorだろう
0408デフォルトの名無しさん
垢版 |
2018/02/16(金) 20:27:54.04ID:MSGqnnUk
俺らのような超初心者は
__iter__(),__getitem__(), __next__()のようなのを使うようなことしないだろう
0409デフォルトの名無しさん
垢版 |
2018/02/16(金) 20:28:23.55ID:T+iGynCY
つまりどーゆーことだってばよ?
0410デフォルトの名無しさん
垢版 |
2018/02/16(金) 20:35:11.53ID:Yz3zJ/9Z
シェルスクリプトなのか分からないけど、
import os
for a in range(100) : os.system('python test.py')
これで、必要な回数プログラム実行できるようになった。

このループを途中で終了したいときは、
どうやればいいんだろ?
PyCharmてやつで、プログラム実行してるけど、
これを、いきなり閉じちゃうやりかたでもいい?
0411デフォルトの名無しさん
垢版 |
2018/02/16(金) 20:37:12.80ID:MSGqnnUk
>>409
このスレでは上級者の>>407にしたって、ことじゃないの、だろう
レベルでしかレスできない。
つまりこのスレではよく分からん、さっぱりわかりませんレベルと言うこと
(自信をもってちゃんと用語の説明が出来るレベルにはないと)
0412デフォルトの名無しさん
垢版 |
2018/02/16(金) 20:39:23.63ID:bV6azCnv
知らずに使ってる
0413デフォルトの名無しさん
垢版 |
2018/02/16(金) 20:48:05.65ID:MSGqnnUk
>>412
超超初級レベルの俺だって
for X in YYYY
なんかで、イテラブル・イテレータとかが関係している(?)のを使っているからな
0414デフォルトの名無しさん
垢版 |
2018/02/16(金) 21:20:06.11ID:WNml02Hz
>>409
for i in iterable:
みたいな文は実際にははじめにiter(iterable)が呼ばれて
返ってきたiterator(itとする)に対して
StopIteration例外がraiseされるまでnext(it)を呼び出しその結果をそれぞれiに束縛するという動作をする
なので普段意識しないでもiteratorは使っている

そう考えるとiterable objectとiteratorが一緒でもいいような感じがするし
実際generatorはiterableでありその上iterableでもある
ただiterableとiteratorを分離してクラスの肥大化を防ぐためにそういう仕様になってるんじゃないか
0415デフォルトの名無しさん
垢版 |
2018/02/16(金) 21:38:25.20ID:WNml02Hz
あとiteratorとiterableを分けることで複数回の反復が可能になるってのがあるな
rangeはiterable objectだけどiteratorではないから
r = range(100)
for i in r:
____print(i)
for i in r:
____print(i)
はできるが
generatorはiterable objectであり自分自身がiteratorだから
g = (i for i in range(100))
for i in g:
____print(i)
for i in g:
____print(i)
は無理
0416デフォルトの名無しさん
垢版 |
2018/02/16(金) 21:41:13.26ID:T+iGynCY
マジレスするとforの仕様ぐらい俺でも知ってるってばよ
そーゆー事じゃねーだろ
0417デフォルトの名無しさん
垢版 |
2018/02/16(金) 21:54:29.76ID:PU4qYOCy
そもそも違いを説明できるかって質問が意味不明
どちらもPythonのオブジェクトであること以外、何も同じじゃないだろ
0418デフォルトの名無しさん
垢版 |
2018/02/16(金) 22:00:15.05ID:WNml02Hz
>>416
どういうこと?
iterableとiteratorの違いの話では
>>407でiterableとiteratorの違いは書いた
>>414-415でiteratorのそもそもの意味、iteratorとiterableが別になっている意味について言及したんだけど
0419デフォルトの名無しさん
垢版 |
2018/02/16(金) 22:59:19.75ID:Yz3zJ/9Z
PyCharmのツールバーに、
停止ボタン発見した!
プログラム途中で辞める時は、このボタン押せばいいのか。
0420デフォルトの名無しさん
垢版 |
2018/02/16(金) 23:05:41.53ID:5HHWlQwe
どの言語でもforループでbreakやcontinue使えない中級者がいるよね
みんながんばれー
0422デフォルトの名無しさん
垢版 |
2018/02/16(金) 23:25:21.33ID:S3mlGk95
>イテラブルとイテレータの違いを説明
イテラブルとイテレータについてきいているのであって
Pythonでイテラブルやイテレータをどう実現するのか聞いているんじゃないんじゃないのか
俺自身、イテラブルやイテレータはほとんどわからん。
0423デフォルトの名無しさん
垢版 |
2018/02/16(金) 23:41:08.50ID:zuV+/SF8
ぶっちゃけ「オブジェクトの種類が多すぎ」という点からして要領を得ない
iterableもiteratorもPythonドキュメントの用語集に明記されているし
データモデルの特殊メソッド名なんか単なるインターフェイスに過ぎないだろう
0424デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:05:27.82ID:srN4h2h/
どの言語でも初心者スレでいきなりiterator持ち出してドヤる上級者がいるよね
みんな巣に帰れー
0425デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:17:49.35ID:PRSXaLoF
いやみんなお前程いろいろな初心者スレに精通してる訳じゃないから同意を求められてもw
0427デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:36:00.95ID:PRSXaLoF
>>426
突然何言ってんのアスペ君?
0428デフォルトの名無しさん
垢版 |
2018/02/17(土) 00:36:28.72ID:BUliR1Ff
それほんと(超)初心者にはあるよな。俺も知っているぞとどや顔で話したくなるときがある。
でも、(超)初心者のそれは(超)しったかがほとんどだかからな
0429デフォルトの名無しさん
垢版 |
2018/02/17(土) 02:22:49.48ID:ub0BBZWD
枯れ木も山の賑わい
0431デフォルトの名無しさん
垢版 |
2018/02/17(土) 10:06:51.83ID:PRSXaLoF
なんか変なアスペが勘違いしてうやむやにしてしまったけど
結局だれか説明できるやつおらんの?>>405
0434デフォルトの名無しさん
垢版 |
2018/02/17(土) 10:46:56.40ID:S2HxDd2V
pythonでとってきたデータを、
Excelのセルに貼り付けるにはどうしたらいいですか?
0436デフォルトの名無しさん
垢版 |
2018/02/17(土) 11:05:36.13ID:LYzy673n
>>434
pandas.to_excel()
■ このスレッドは過去ログ倉庫に格納されています

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