こんな感じでどうでしょうか! この記事を参考にしました。
関数部分
from inspect import currentframe
def print_shape(* args):
names = {id(v):k for k,v in currentframe().f_back.f_locals.items()}
print(
"\n".join(
names.get(id(arg),'???') + ": " + repr(arg.shape) for arg in args
)
)
全体(test.py
)
import pandas as pd
import numpy as np
from inspect import currentframe
def print_shape(* args):
names = {id(v):k for k,v in currentframe().f_back.f_locals.items()}
print(
"\n".join(
names.get(id(arg),'???') + ": " + repr(arg.shape) for arg in args
)
)
def main():
df_tokyo = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD' ))
df_osaka = pd.DataFrame(np.random.randint(0,100,size=(100, 5)), columns=list('ABCDE'))
df_gumna = pd.DataFrame(np.random.randint(0,100,size=( 10, 4)), columns=list('ABCD' ))
print_shape(df_tokyo, df_osaka, df_gumna)
if __name__ == "__main__":
main()
出力
$ python test.py
df_tokyo: (100, 4)
df_osaka: (100, 5)
df_gumna: (10, 4)
追加、
すみません、投稿者さまのように横一列に表示したければ、
from inspect import currentframe
def print_shape(* args):
names = {id(v):k for k,v in currentframe().f_back.f_locals.items()}
print(
", ".join(
names.get(id(arg),'???') + " shape: " + repr(arg.shape) for arg in args
)
)
としてください!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/04 08:35