float_df = pd.DataFrame((0.45*np.arange(1,9)).reshape(4,2), index=[1,2,3,4], columns=['col_one', 'col_two'], dtype=float)
# print(float_df.round({'col_one': 2}))
# print(float_df.round({'col_one': 1, 'col_two': 2}))
# print(float_df.T) # 行列互换 转置
for col in float_df.columns:
print(col)
float_df[col] = float_df[col].apply(lambda x: '%.2f' % x)
print(float_df.values)
print(float_df.to_numpy()) 3pandas 0.24.0才有to_numpy
float_df['col_two'] = float_df['col_two'].apply(lambda x: '%.2f%%' % (x * 100))
print(float_df)
print(float_df.sort_values('col_one', ascending=False)) # index不会变化
print(float_df.nlargest(2,'col_one'))
df = pd.DataFrame(np.arange(1,9).reshape(2,4))
# print(df)
# print(df.values)
df.to_json(r'C:\Users\aaa\Desktop\obj.json')
df.to_json(r'C:\Users\aaa\Desktop\rec.json', orient='records')
obj_df = pd.read_json(r'C:\Users\aaa\Desktop\obj.json')
print(obj_df)
rec_df = pd.read_json(r'C:\Users\aaa\Desktop\rec.json')
print(rec_df)
df = pd.DataFrame(np.arange(1,10).reshape(3,3), index=['a', 'b', 'c'])
print(df.loc['a'][0]) # 选择1行1列的值
print(df.iloc[0][0]) # 选择1行1列的值
print(df.iloc[1:,1:]) # 选择1,2行, 1,2列的值
print(df.iloc[:,[1,2]]) # 选择所有行,1,2列的值
print(df.iloc[:,:2]) # 选择所有行,0,1列的值
print(df[1:3]) # 选择1 2行 索引从0开始
print(df[list(range(1,3))]) # 选择1 2列 索引从0开始 选择多列不能使用切片
print(df.values) # 输出一个二维数组
print(df.shape)
print(df.columns) # 输出列索引名称
print(df.index) # 输出列索引名称
print(len(df)) # 输出行数
print(df.columns.size) # 输出列数
print(df.mean()) # 默认对每一列的数据求平均值
print(df.mean(1)) # 对每一行求平均值
print(df[1].value_counts()) # 统计第1列中各个值出现的次数:
print(df.describe()) # 对每一列数据进行统计,包括count,mean, std,min, 25%, 50%, 75%, max
SELECT CONCAT(`YEAR`, '年', LPAD(`MONTH`,2,0), '月') AS `datetime` FROM tb # 将1个数学的月转成两个数字