Pythonのお勉強 Part60at TECH
Pythonのお勉強 Part60 - 暇つぶし2ch511:デフォルトの名無しさん
19/06/11 22:35:59.26 yU84dTYh.net
試しにpandas使ってみたらNullっていう文字列はNullって文字列のままで表示されましたよ
そのpython.csvがおかしいんでないの? テキストエディタで中身確認した?

512:デフォルトの名無しさん
19/06/11 22:50:52.65 nbZ/cYor.net
>>511
レスありがとうございます
そのCSVの中身はこのようになってます(OpenOfficeCalcで開いたもの)
URLリンク(i.imgur.com)
A2の文字列がNullです
これをpandasで開くとこうなります
URLリンク(i.imgur.com)

513:デフォルトの名無しさん
19/06/11 23:00:26.74 yU84dTYh.net
うんうん、そのCSVをメモ帳とかのテキストエディタで開いて中身を確認すると
nullのところが空になっているんじゃないかな?

514:デフォルトの名無しさん
19/06/11 23:05:29.26 nbZ/cYor.net
>>513
すみませんメモ帳で開いたものがこちらです
URLリンク(i.imgur.com)
空にはなってないです

515:デフォルトの名無しさん
19/06/11 23:27:40.11 yU84dTYh.net
うーん、同じようなファイルを作ってpandasで開いてみたけどnullはnullのままだわw
私の環境はWindowsで、メモ帳で>>514の途中までのデータを入力したファイル(文字コードはsjis)を用意して
encoding指定してpandasで開いてみました(encoding指定しないとエラーになる)
>>> df = pd.read_csv(r'C:\Users\tk\Desktop\aaa.csv', delimiter="\t", index_col=[0], header=None, encoding='cp932')
>>> print(df)
1
0
nudge 軽い突き
null ゼロ
nuptial 結婚式
obscenity わいせつ
>>>
ということで、そちらの環境は日本語が含まれているファイルを開いているのにencoding指定無しで開けているのが異なる
もしかしたらencodingエラーを無視して開いているんじゃないのかな?それでpandasで読み込んだ時点でデータが
変わっていると予想

516:デフォルトの名無しさん
19/06/11 23:31:41.04 yU84dTYh.net
あ、ファイルの文字コードをutf-8にしたらencoding指定無しでいけたわ
でもnull文字はnull文字のままで、NaNにはならないなぁー

517:デフォルトの名無しさん
19/06/12 00:05:34.02 BNfp0i08.net
わざわざ同じように試していただいて本当にお手数おかけしてます
せっかくですので問題が起こっているCSVファイルもあげさせていただきました
もしよければチェックしていただけるとありがたいです
URLリンク(dotup.org)

518:デフォルトの名無しさん
19/06/12 00:17:35.61 dGJQWhEh.net
>>> df = pd.read_csv(r'C:\Users\tk\Desktop\dotup.org1870215.csv', delimiter="\t", index_col=[0], header=None)
>>> print(df)
1
0
nudge 軽い突き
null ゼロ
nuptial 結婚式
obscenity わいせつ
obsessive 妄想を持った人
omen 前兆
onslaught 猛攻撃
>>>
ででぇーん、再現ならず・・じゃあ私もう寝るから、おやすみー

519:デフォルトの名無しさん
19/06/12 00:21:06.05 dGJQWhEh.net
ちなみに私の環境のpandasはAnacondaに入ってたやつで、バージョンは以下のとおり
>>> pd.__version__
'0.20.3'
>>>

520:デフォルトの名無しさん
19/06/12 00:21:38.85 BNfp0i08.net
うーん再現ならずですか・・・
お付き合いいただきありがとうございました、おやすみなさい

521:デフォルトの名無しさん
19/06/12 00:23:24.16 BNfp0i08.net
自分のpandasのバージョンは0.24.2なので、もしかしたらそこが原因かもしれませんね
いろいろ試してみます
ありがとうございました

522:デフォルトの名無しさん
19/06/12 06:14:33.53 v9kdzfUv.net
google colabで読み込んでどうなる?

523:デフォルトの名無しさん
19/06/12 09:52:59.33 dGJQWhEh.net
>>512
OpenOfficeよりもLibreOfficeの方が良いらしいですよ
URLリンク(tedaeri.com)

524:デフォルトの名無しさん
19/06/12 10:08:38.96 kCj8PQiR.net
>>523
>しかし、既に「Apache OpenOffice」のユーザーがあまりにも多く、終わらせようにも影響力が大きいです。
普及のためには、M$との互換性が高く移行も容易、みたいな宣伝をするくせにw

525:デフォルトの名無しさん
19/06/12 21:48:46.24 DK5Xdw8/.net
win上のAnacondaのspyderのエディターで書いて実行する場合
qt5もtkinterもボタンを押して変化なし
Anaconda powershellというのでpython ファイル名だとちゃんと動いた

526:デフォルトの名無しさん
19/06/12 22:46:29.53 BSq+d1KN.net
出来るだけきれいなコードを書けるようになりたいと思ってます
動けば良いってレベルから次に行きたい
こういう場面はこういう処理の書き方のほうが良いとかはどうやって身につければ良いですか?

527:デフォルトの名無しさん
19/06/12 22:50:55.79 6508qYyd.net
独学じゃ無理
仕事で他人にコードレビューで叩かれて覚えるもんだ

528:デフォルトの名無しさん
19/06/12 22:59:45.07 uvvnpCRF.net
>>526
人が書いたコードを読むこと
標準ライブラリとかで使う部分だけでもいいから読んでみる
PEP8にできる範囲で準拠してみるとか
他にはテストを書いてみるとかも役に立ってると思う
ていうか、色々ありすぎてキリがないけど
人が書いたコードを読むのは絶対必要かな

529:デフォルトの名無しさん
19/06/12 23:14:51.17 eCiQ25Tx.net
>>497
java,c++みたいな静的な言語の場合はそうだが、ruby,pythonみたいな言語の場合は
クロージャー渡すインターフェイスのが直感的。

530:デフォルトの名無しさん
19/06/13 00:18:27.47 QGxbtz9r.net
>>526
Pythonできれいなコードはあり得ない。C, C++, C#などで書き直すしかない。

531:デフォルトの名無しさん
19/06/13 01:32:57.26 SaZXT9dZ.net
>>539 そりゃねーよ。
Python だって型を指定することもできるんだぞ。 可読性はそれだけでも上がる。
初心者はそんなことは考えなくて良い。
人のプログラムを眺めること、ひたすら自分で練習問題を解いて人の回答と見比べてみること。
プログラミングのお題スレ Part14
URLリンク(mevius.2ch.net)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch