pandas常用操作一

DataFame:

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

df_data = pd.read_csv(path + '\\' + deletefile, sep=',')[:-2] #以分隔符逗号读取数据,并移除倒数第二行

 

na_values = ['NO CLUE', 'N/A', '0'] requests = pd.read_csv('../data/311-service-requests.csv', na_values=na_values, dtype={'Incident Zip': str}) #读取文档时,过滤掉空值,将某列的类型读取成str

rows_with_dashes = requests['Incident Zip'].str.contains('-').fillna(False) #判断某列是否包含破折号字符串,并用False替换DataFame对象中所有的空值 len(requests[rows_with_dashes]) #读取满足rows_with_dashes 的行数

requests[rows_with_dashes] # 读取满足rows_with_dashes 的所有行,为DataFame形式

long_zip_codes = requests['Incident Zip'].str.len() > 5 #选择某列字符串长度大于5的DF requests['Incident Zip'][long_zip_codes].unique() #将某列中选取的字符串大于5的DF显示

requests['Incident Zip'] = requests['Incident Zip'].str.slice(0, 5) #slice(0, 5)数组、字符串位置截取;数组、字符串均可使用;参数一:开始截取的下标;参数二:截取的截止位置但不包含该下标;返回截取的新数组。

df_data = pd.read_csv(path + '\\' + deletefile)

  • df_data['bug'][:3] #某列的前三行 ,等价于df_data[:3]['bug']
  • df_data[['ca','bug']][:3] #某n列的前三行
  • df_data[::2 ] #从前往后每隔两个取数据
  • df_data[::-2 ] #从后往前逆序每隔两个取数据
  • df_data + df_data[::2 ] # 自动对齐数据
  • df_data[:3] #前三行
  • #观察到csv文件的格式乱了,因此,修改读取csv文件时的参数。
  • fixed_df = pd.read_csv('../data/bikes.csv', sep=';', encoding='latin1', parse_dates=['Date'], dayfirst=True, index_col='Date') #以分号为分隔符,编码是latin文而不是默认的utf-8,解析‘Date’列中的日期,并约定起始是第一天而不是第一个月,将‘Date’列设置为行索引。 fixed_df[:3]
  • len(df_data) #统计每个文件的数据集个数
  • df_data['bug'].nunique() #统计每个文件bug的类别总数
  • df_data['bug'].unique()#统计每个文件bug的各个类别
  • bug_class_value = df_data['bug'].value_counts() # 统计每个文件bug的不同类别名及对应的个数,并降序排列
  • bug_value[: 10].plot(kind='bar') #统计排名top10的类别并绘出柱形图
  • bug_counts = df_data.groupby('bug').aggregate(sum) #将数据按bug列不同的数据分组,并按分组相加其他列,其中按照bug的类别升序排列。
  •  
  • df_data['bug'].plot() #选择某列'bug'并画出曲线
  • df_data.plot(figsize=(15, 10)) #将所有的列值都画在15*10的图中,等价于df = pd.read_csv('../data/bikes.csv', sep=';', encoding='latin1', parse_dates=['Date'], dayfirst=True, index_col='Date') .plot(figsize=(15, 10))
  •  

  • ’‘’关于保存‘

    df.to_csv('DimDate.csv', index=False)

    df.to_excel('DimDate.xls', index=False)

    df.to_csv('DimDate.txt', index=False)

    df_data.to_csv(r"*\test.csv", header=False, index=False) #保存时,隐藏行名和列名

    pd.DataFrame({'col2': [3, 4], 'col4': [1, 2]}, columns=["col4","col2","col1"]) #保证列名按指定顺序保存,若列名中的字符串不存在,将自动赋值为NAN

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

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

你可能感兴趣的:(pandas常用操作一)