f行的age改为1.
df.loc['f', 'age'] = 1.5 这样比 df.loc['f']['age'] 好 计算df中每个种类animal的数量 df['animal'].value_counts() 我是 计算df中每个种类animal的数量
df.groupby('animal').count() 不好 将priority列中的yes, no替换为布尔值True, False
df['priority'] = df['priority'].map({'yes': True, 'no': False}) 我的做法
df['priority'] = df['priority'].str.replace('no','false')
df['priority'] = df['priority'].str.replace('yes','true') 对每种animal的每种不同数量visits,计算平均age,即,返回一个表格,行是aniaml种类,列是visits数量,表格值是行动物种类列访客数量的平均年龄
df.pivot_table(index='animal', columns='visits', values='age', aggfunc='mean') 我的做法
res = df.groupby(by=['animal','visits'])['age'].mean() 这样是不行的 一个全数值DatraFrame,每个数字减去该行的平均数
df = pd.DataFrame(np.random.random(size=(, )))
print(df)
df1 = df.sub(df.mean(axis=), axis=)
print(df1) 我的做法
for i in range(len(df)):
for j in (df.columns):
df.loc[i,j] = df.loc[i,j] - df.loc[i].mean() 一个有5列的DataFrame,求哪一列的和最小
df = pd.DataFrame(np.random.random(size=(, )), columns=list('abcde'))
print(df)
df.sum().idxmin() 我的做法
df.sum().sort_values() 然后自己肉眼识别 给定DataFrame,求A列每个值的前3的B的值的和
df = pd.DataFrame({'A': list('aaabbcaabcccbbc'),
'B': [,,,,,,,,,,,,,,]})
print(df)
df1 = df.groupby('A')['B'].nlargest().sum(level=)
print(df1) 给定DataFrame,有列A, B,A的值在1-(含),对A列每10步长,求对应的B的和
df = pd.DataFrame({'A': [,,,,,,,,,],
'B': [,,,,,,,,,]})
print(df)
df1 = df.groupby(pd.cut(df['A'], np.arange(, , )))['B'].sum()
print(df1) 我的做法大体类似,但是稍微繁琐,对pd.groupby 理解不到位。groupby第一个参数也可以接收series或者dict,应用在dataframe的第一列值。 s = pd.cut(df['a'],bins=,labels=['one','two','three','four','five','six','seven','eight','nine','ten'])
df['label'] = s
df.groupby('label')['b'].sum() 一个全数值的DataFrame,返回最大3个值的坐标
df = pd.DataFrame(np.random.random(size=(, )))
print(df)
df.unstack().sort_values()[-:].index.tolist() 我的做法是取每个column的最大值,排序后再选最大的三个。很明显,繁琐。
注意,df必须先unstack后才能 sort_values,要不然会报错。 dti = pd.date_range(start='2015-01-01', end='2015-12-31', freq='B')
s = pd.Series(np.random.rand(len(dti)), index=dti) s.head()
所有礼拜三的值求和
s[s.index.weekday == ].sum() 还有这种方法?!! 求每个自然月的平均数
s.resample('M').mean() 索引为时间序列的重要方法 resample 重采样
每连续4个月为一组,求最大值所在的日期
s.groupby(pd.Grouper(freq='4M')).idxmax() 我的做法
还有个pd.Grouper方法? FlightNumber列中有些值缺失了,他们本来应该是每一行增加10,填充缺失的数值,并且令数据类型为整数
df['FlightNumber'] = df['FlightNumber'].interpolate().astype(int) 我的做法
series,dataframe 都有 interpolate 这个方法,记一下 将From_To列从_分开,分成From, To两列,并删除原始列
temp = df.From_To.str.split('_', expand=True)
temp.columns = ['From', 'To']
df = df.join(temp)
df = df.drop('From_To', axis=) 我的做法
df['from'] = df['From_To'].str.split('_',expand=True)[]
df['to'] = df['From_To'].str.split('_',expand=True)[] 很明显,join更简洁,换个角度,如果列更多,我的方法就麻烦多了。
strip有个expand参数,很重要。python中的split 没有这个参数。

  差别如下

最新文章

  1. WebService 学习之路(一):了解并使用webService
  2. 创建html模板
  3. MVC3升级为MVC4
  4. TCP/IP详解系列 --- 概念总结01
  5. Android使用SAX解析XML(2)
  6. flash cs6导入某些mp3不能的解决办法
  7. 使用sed,awk将love转换成LOVE,将CHINA转换成china
  8. fflush函数的深入理解
  9. 认识Service
  10. SharePoint 2013 运行在IIS 应用32位错误
  11. UVA 11624 Fire! (bfs)
  12. ACCESS表与CSV文件相互导入、导出的SQL语句
  13. 8天玩转并行开发——第三天 plinq的使用
  14. Javascript技巧实例精选(4)—FTP网站登录的Javascript实现
  15. python + selenium 自动化测试框架
  16. windy数(数位DP)
  17. 对matplotlib库的运用
  18. python 全栈开发笔记 3
  19. db2编目抽取
  20. Asp.net WebAPI Request参数验证-请不要重复造轮子

热门文章

  1. luogu P1224 [NOI2013]向量内积
  2. gorpeln的个人博客 - gorpeln
  3. 新建maven子模块 出现 Unable to read parent POM
  4. 03python面向对象编程5
  5. set -xv
  6. mybatis返回自增主键问题踩坑
  7. 手机能连接上ipsec
  8. IPv6是未来趋势?部署IPv6有什么技术障碍?
  9. man da'te
  10. Keras get Tensor dimensions