import numpy as np
import pandas as pdnp.array((np, pd))
class JsonObject:def __init__(self, items):self.items = itemsdef __getattribute__(self, name: str): return object.__getattribute__(self, 'items').get(name)def print_data(o, head=None):o_items = dict(shape=None,size=None, index=None,columns=None, dtype=None,dtypes=None,)print('type\t: %s' % type(o))for (k,v) in o_items.items():try:o_items[k] = eval(f'o.{k}')except (Exception, BaseException):passif k == 'dtypes':o_items[k] = {k:str(v) for k,v in dict(o_items[k]).items() }print('%s\t: %s' % (k, o_items[k]))print()objs = oif head:objs = objs.head(head if type(head) is int else 5) display(objs)def get_new_file_path(file_path, string, file_ext=None):file_sep = '.'file_path_split = file_path.split(file_sep)file_path_split_pop = file_path_split.pop() file_ext = file_path_split_pop if not file_ext else file_extreturn file_sep.join(file_path_split) + '-' + string + file_sep + file_extr_rang = 26
r_chr = {k: [chr(_) for _ in range(size, size+r_rang)] for k,size in dict(b=65, s=97).items()}
r_chr = pd.DataFrame(r_chr, index=range(1, r_rang+1)) def get_chr_items(k, f):k = k.lower()f = f.upper() if k == 'b' else f.lower()return tuple(r_chr[k][:list(r_chr[k]).index(f) + 1])display(r_chr)r_df = pd.DataFrame(np.random.randint(0, 100, (10, 10)), tuple(r_chr.b[:10]), tuple(r_chr.s[:10]))
df_01 = pd.DataFrame(np.random.randn(1000, 4), pd.date_range(start='2022-01-01', periods=1000),tuple('ABCD')
).round(2)print_data(df_01, True)
"""
第一行 原样输出
第二行 第一行+第二行
第三行 第一行+第二行+第三行
...
"""
df_02 = df_01.cumsum()
df_02.head()
df_01.plot()
df_02.plot()
df_03 = pd.DataFrame(np.random.rand(10, 4), None, tuple('ABCD'))
print_data(df_03, True)
df_03.plot.bar()
df_03.plot.bar(stacked=True)
df_04 = pd.DataFrame(np.random.rand(4, 2),tuple('ABCD'),tuple('12')
)
print_data(df_04, True)
df_04.plot.pie(subplots=True,)
df_04.plot.pie(subplots=True, figsize=(8,8))
df_04.plot.pie(subplots=True, figsize=(16,16), colors=np.random.random(size=(4,3)))
df_05 = pd.DataFrame(np.random.randint(0, 50, (50, 4)), None, tuple('ABCD'))
print_data(df_05, True)
df_05.plot.scatter(x='A', y='B')
ax = df_05.plot.scatter(x='A', y='C', color='DarkBlue', label='G1')
df_05.plot.scatter(x='B', y='D', color='DarkGreen', label='G2', ax=ax)
df_05.plot.scatter(x='A', y='B', s=df_05.C * 200)
df_05['F'] = df_05.C.map(lambda _: _ + np.random.randint(-5, 5, size=1)[0])
print_data(df_05)
df_05.plot.scatter(x='C', y='F')
df_06 = pd.DataFrame(np.random.rand(10, 4),None,tuple('ABCD'),
)
print_data(df_06, True)
df_06.plot.area()
df_06.plot.area(stacked=True, color=np.random.rand(4, 3))
