[Python] 300 自製ライブラリpandas_exの機能追加 to_csv

データフレームをワンライナーでcsvファイルに変換できるようにしました。

with文が今一つ好きになれないので作ってみました。

Pythonの記事が300回に到達しました。これからもマイペースで書いていきます。

import pandas as pd

def to_csv(df,csv_name,encoding,header,index): # header,index:True or False
    with open(csv_name,'w',encoding=encoding) as f:
        df.to_csv(f,header=header,index=index)
import pandas as pd
from my_library import pandas_ex as pd_ex

df = pd.read_csv("test.csv",encoding='shift_JIS')

<dfに何らかの処理を施す>

# encodingはUTF-8,headerありでcsvファイルを作成
pd_ex.to_csv(df,"test2.csv","UTF-8",True,False)

[Python] 299 自製ライブラリによるpandasの機能拡張

pandasで欲しい機能については自製ライブラリで機能拡張することにしました。

これをうまく利用すれば、自分の好きなように書いてcsvファイルを作ったりできそうです。

個人開発だからできることで、共同開発でこんなことしたらヒンシュクものですね。

import pandas as pd

# データフレームの列に欠損値があっても他の値を数値型変換する関数
def to_numeric_column(df,column_name):
    df[column_name] = df[column_name].fillna(0)
    df[column_name] = pd.to_numeric(df[column_name],downcast='signed')
    df[column_name] = df[column_name].replace(0,'')
    return df
from my_library import pandas_ex as pd_ex

df = pd_ex.to_numeric_column(df,'人気')

# 以前のコード
# df['人気'] = df['人気'].fillna(0)
# df['人気'] = pd.to_numeric(df['人気'],downcast='signed')
# df['人気'] = df['人気'].replace(0,'')