每日随笔
今天继续使用pandas进行数据处理,遇到了不少的问题
1.进行归一化操作
dfma31 = (dfma3-dfma3.min())/(dfma3.max()-dfma3.min())
2.如果直接对原来的DataFrame进行重命名则需要inplace=True
dfma31.rename(columns={'用户编号':'用户编号', '原始缴费金额':'归一金额','原始次数':'归一次数'},inplace=True)
3.删除指定列
dfma31.drop('用户编号',axis=1, inplace=True)
4.插入指定列
dfma31.insert(loc=0,column='用户编号',value=dfma3['用户编号'])
5.取列数据
dfma31.insert(loc=0,column='用户编号',value=dfma3['用户编号'])
6.python数字转字符串
主要包括两种形式进行转换:
第一种是str(),将值转换为用户便于阅读的形式;
另一种是repr(),将值转换为合法的python表达式。
7.
在最前面,因为x轴默认进行了排序,这点和plotnine很像。要保持原来的['Mon.','Tue.',...]
顺序,需要设置x轴的配置,那如何设置呢?先验知识是,在encode中,最简单的参数写法是.encode(x='x')
这种传入列名的写法,在Python中,一切皆是对象,Altair关于X轴对象封装为了altair.X(),因此另一种写法是.encode(x= alt.X('x'))
,故在altair.X()里可以设置排序顺序。
alt.Chart(df,width=350).mark_bar(color='#1EAFAE').encode( x=alt.X('x',sort=None), y=alt.Y('y'), )