裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

データのシリアライゼーションと逆シリアライゼーション

2023年10月04日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

CSV、JSON、Excelなど異なる形式のデータのエクスポートとインポート方法

2023年10月03日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PythonのJupyter Notebookを使用したリポータブルなデータ分析の作成

2023年10月01日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

データ収集から可視化、モデリング、デプロイメントまでのエンドツーエンドのデータ分析プロジェクトの実行

2023年09月30日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Vaexという高速なデータフレームライブラリの紹介

2023年09月29日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

StatsModelsを使用した統計モデリングと仮説検定

2023年09月27日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MatplotlibとSeabornを使ったデータの視覚化の基本

2023年09月27日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Plotlyを使用した対話型データ可視化の作成

2023年09月26日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

NumPyとPandasを組み合わせて高速なデータ操作を実現する方法

2023年09月26日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Pandasを使用したデータのクリーニングと前処理のベストプラクティス

2023年09月25日 | Python
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

次の 13 日の金曜日はいつか?

2020年12月29日 | Python

ツェラーの公式を利用して列挙する

def Zeller(y, m, d):
    w = ['Sat', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri']
    if m == 1 or m ==2:
        m += 12
        y -= 1
    C = y // 100
    Y = y % 100
    return w[(d + 26*(m+1)//10 + Y + Y//4 -2*C + C // 4) % 7]

for y in range(2021, 2030):
    for m in range(1, 13):
        if Zeller(y, m, 13) == 'Fri':
            print(y, m)

2021 8
2022 5
2023 1
2023 10
2024 9
2024 12
2025 6
2026 2
2026 3
2026 11
2027 8
2028 10
2029 4
2029 7

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

pandas version 1.0.0 (Python)

2020年12月28日 | Python

データフレームのマークダウン出力ができるようになった

>>> pd.__version__
'1.0.1'
>>> df = pd.DataFrame({"a": list("abcde"), "b": [1,2,3,4,5]})
>>> df
   a  b
0  a  1
1  b  2
2  c  3
3  d  4
4  e  5
>>> df.to_markdown()
'|    | a   |   b |\n|---:|:----|----:|\n|  0 | a   |   1 |\n|  1 | b   |   2 |\n|  2 | c   |   3 |\n|  3 | d   |   4 |\n|  4 | e   |   5 |'
>>> print(df.to_markdown())
|    | a   |   b |
|---:|:----|----:|
|  0 | a   |   1 |
|  1 | b   |   2 |
|  2 | c   |   3 |
|  3 | d   |   4 |
|  4 | e   |   5 |

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

groupby で,自作の関数を適用する(Python)

2020年12月27日 | Python

df2 = df.groupby(群)

df2.agg(自作関数の名前)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Python だからって...,numpy も使えば?

2020年12月26日 | Python

文字列中に,どのような文字が幾つあったか知りたいって...

>>> import numpy as np
>>> str = 'あいうえおあおaiueoao999112'
>>> index, count = np.unique(list(str), return_counts=True)
>>> index
array(['1', '2', '9', 'a', 'e', 'i', 'o', 'u', 'あ', 'い', 'う', 'え', 'お'],
      dtype='<U1')
>>> count
array([2, 1, 3, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2])
>>> 
>>> list(index)
['1', '2', '9', 'a', 'e', 'i', 'o', 'u', 'あ', 'い', 'う', 'え', 'お']
>>> list(count)
[2, 1, 3, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2]

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

さて,ここで問題です Challenge0001 (Python)

2020年12月25日 | Python

a, b, c, d の4個の数字を入力とする

もしどれかが 0 なら,それぞれに 0.5 を加える

x = a * d / (b * c)

としたとき,x か  1 / x の大きい方を返す関数を定義せよ

言語は問わない。合計文字数が少ない方がいいぞ!

 

解答例は,ずっとスクロールダウンして...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

import numpy as np

def func(a, b, c, d):
  if a * b * c * d == 0:
  a, b, c, d = np.array([a, b, c, d])+0.5
  OR = a * d / (b * c)
  return max(OR, 1 / OR)

func(1,2,3,4) # 1.5
func(0,2,3,4) # 3.8888888888888893

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村