pandas常用操作二——关于列

参考链接:http://pandas.pydata.org/pandas-docs/stable/tutorials.html

  • df_data = pd.read_csv(path + '\\' + deletefile, sep=',')#以分隔符逗号读取数据

  • data_type = df_data.dtypes #各个列数据类型

  • data_bug_type = df_data.bug.dtypes #bug列数据类型
  •  
  • bug_value = df_data.xs('bug', axis=1) #选择某列('bug')
  • df_data.[['Rev', 'test']]#选择某两列
  • project = df_data['project'] #选择某列,返回Series,如果列索引不存在,会报错
  • Sorted = df.sort_values(['Births'], ascending=False) # 针对数据类型为int64的某列求最大值:对其进行排序,且由大到小 然后,Sorted.head(1) # 取第一个值(最大值)
  • df_data['Births'].max() #求某列的最大值(针对数据类型为int64的某列)
  • # Lets add a couple of columns
    • df_data['test'] = 3
    • df_data['col'] = df_data['Rev'] #添加一列col,和已有Rev列相同,添加到test后面
  • bug_only = df_data[['bug']].copy() #创建一个DF,只有bug列,即复制bug列
  • bug_only.loc[:, 'Bug'] = project #文件末列添加新的列
  • df_data.insert(0, 'project', 'lucene') #在第1列插入名为‘project’,内容为lucene的列(内容这样写不知是否正确)
  • bug = df_data.bug #选择某列
  • stats = pd.concat(['project, bug], axis=1) # 将列version和列bug合并成一个新的DataFame
    • combined = pd.concat([ALL,BHAG], axis=0) #合并
    • combined = combined.sort_index(axis=0) #按行索引排序
    • combined.groupby(lambda x: x.year).max() #按年份分组,并求数据的最大值
  • stats.plot(kind='bar') #两个图画在同一个图中
  • stats.plot(kind='bar', subplots=True, figsize=(15, 10)) #两个图上下分开显示
  • df_data.reset_index().groupby(['State','StatusDate']).sum() #将某两列作为索引重新编号,并按索引求和对应的数据,reset_index函数将把索引StatusDate带回dataframe中的一个列。???
  • df_data['Customer'].groupby(df_data.index.get_level_values(1)).sum()#将df_data['Customer']按照df_data的多个行索引的第二个索引的值分组,并将索引相同的对应数据求和。
  • columns_name = df_data.columns #列索引
  • df_data.drop(axis=1, ['name']) #删除某列
  • del df_data['Status']#删除某列
  • df_data.dropna(axis=1, how='any') #只要列中有null值,即删除
  • df_data.bug.apply(lambda x: x.upper()) #选择某列(bug)中所有的大写字母
  • df_data[df_data.bug!=0] = 1 #将某列(bug)中数值不为0的数据修改为1
  • is_lucene = df_data['project'].str.contains('lucene') #某列如果是str形式,可以判断列中是否包含某字符串,返回True和False。注意,如果该列名不存在,会报KeyError错误。
  • is_lucene.astype(float) #将True和False换成0和1表示。
  • is_lucene.astype(float).resample('M', how=np.mean) #找到每月(“M”)是lucene的概率,注意resample的用法(对常规时间序列数据重新采样),how=np.median是求中位数。
  • 参考链接:http://pandas.pydata.org/pandas-docs/stable/tutorials.html

    由于笔者也是初学者,希望记录分享,以便方便学习,如有错误,欢迎批评指正,谢谢!

 

你可能感兴趣的:(pandas常用操作二——关于列)