くだすれPython(超初心者用) その39

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

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

前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/
2デフォルトの名無しさん
垢版 |
2018/08/24(金) 07:50:54.90ID:VD4/++xS
◆関連リンク Python の Home Page
http://www.python.org/

◆長いコードはこういうところにはってください
http://ideone.com/
http://codepad.org/
http://pastebin.com/
http://dpaste.com/
https://try.jupyter.org/

◆まとめwiki
http://python.rdy.jp/
3デフォルトの名無しさん
垢版 |
2018/08/24(金) 11:55:16.20ID:ZVlysGry
ストロー廃止
2018/08/24(金) 16:34:04.92ID:RSpOEB9t
『日経ソフトウェア2018年7月号』
「新連載 金融データをPythonで分析してみよう」p.050-
のとおりにやってみてここまではうまく行ったのですが、
ここで
>>> ts.RateBid.diff().round(3).sort_values().dropna().unique()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/pandas/core/generic.py", line 1843, in __getattr__
(type(self).__name__, name))
AttributeError: 'Series' object has no attribute 'sort_values'

「Seriesオブジェクトはsort_valuesなんてアトリビュートを持ってないよ」
というエラーをPython3.4.2が吐き出しました。(´・ω・`)
ただそれだけ。書いてみたかっただけです。それじゃまた。
2018/08/24(金) 16:59:48.14ID:O0T9h+Ku
>>4
日経ソフトウエアって読む価値ありますか?(゚Д゚)?
6デフォルトの名無しさん
垢版 |
2018/08/24(金) 22:42:39.09ID:J2z8mB41
環境整えてみたんですが
いざなにを作ればいいんですか?
2018/08/24(金) 22:55:45.28ID:A0MvxlLt
自分探しの旅みてーな疑問だな
2018/08/25(土) 04:28:11.12ID:gxBSyOuw
日経ソフトウエアは、読む価値なし

日経Linux、WEB+DB、Software Design などは良い
2018/08/25(土) 10:02:26.96ID:H9tlLYtz
Ubuntu 18、UTF-8環境、Python 3.6.5です。
PHP(こっちもUTF-8)から引数を受け取ってPyhonで処理するプログラムを作っています。まずPHP側で
$arg = '日本語1 日本語2';
$cmd = 'python3 python.py "'.$arg.'"';
exec($cmd, $output);
とやって、python.pyで
import sys
a = sys.argv[1]
b = a.split(' ')
#listhoge{'日本語1': 0, '日本語2': 1,.....}
c = listhoge[a[0]]
で「日本語1は0」という結果を得たいのですが、
c = listhoge[a[0]]のところで
KeyError: '\udce6\udc97\udca5\udce6\udc9c\udcac\udce8\udcaa\udc9e1'
となってしまいます。
c = listhoge['日本語1']
なら、cは期待通り0が代入されます。
print(a)
#日本語1 日本語2
print(a[0])
print(a[1])
#日本語1
#日本語2
で、引数自体は受け取れているようなのですが、
if a[0] == '日本語1':
print('OK')
else:
print('NG')
の結果は「NG」です。
listhogeに正しく値を渡すには、どうしたらよいでしょうか。ご教示よろしくお願いします。
2018/08/25(土) 10:17:20.53ID:5go0Mg15
>>9
a[0]は日でa[1]は本
if b[0] == "日本語1":
にすればいい
2018/08/25(土) 10:38:37.45ID:H9tlLYtz
>>10
すみません!コードを抽象化するときに書き間違えました。
a[0].a[1]のところは、正しくはb[0].b[1]です。
せっかく教えていただいたのにすみません。
b[0]を日本語1と評価されるようにするにはどうしたらよいでしょうか。
2018/08/25(土) 10:53:10.81ID:5go0Mg15
>>11
日本語1の1が全角とか?

b[0]の出力をそのまま
b[0]== の後にコピペしてもfalseになるの?
2018/08/25(土) 11:10:46.62ID:H9tlLYtz
>>12
コピペで試しているので、文字列は同一だと思います。
今、試しにコマンドラインでスクリプトに引数を渡すと、コンソール上では期待通りの動作をしました。
PHPからだと、print出力的には同一に見えるけど別なデータになっているということでしょうか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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