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
由于笔者也是初学者,希望记录分享,以便方便学习,如有错误,欢迎批评指正,谢谢!