美文网首页我爱编程Python小推车python模块
python学习:pandas学习笔记(一)

python学习:pandas学习笔记(一)

作者: GPZ_Lab | 来源:发表于2017-11-04 15:34 被阅读310次

对使用python进行数据分析的研究者而言,pandas是非常有用的一个模块。在现实数据收集中难以保证数据格式整齐,没有缺项漏项,按照研究意向进行排序与整理。pandas可以高效的帮助研究者进行数据整理,便于进入分析流程。

本次笔记内容:

  • dictionary和data frame之前的转换及注意事项
  • 替换data frame中的字段:df.replace

dictionary和data frame之前的转换及注意事项
对一个简单字典,转化为dataframe:
比如dic = {A: 1, B: 2, C: 3} 要转化为一列为A,B,C,一列为1,2,3的dataframe:
test = pd.DataFrame(list(dic.items()), index = [range(0,2)])
因为没有可以转化为Index的字段,所以需要加一个index =

如果以column(列)作为不同的subjects, 以行(row)作为不同的features, 如以下例子,import pandas之后可以直接读取csv格式的excel表格得到data frame, 且定义为df

如果需要将其转化成dictionary:

df_dict = df.to_dict()

需要注意的是,如果直接这样转化,会丢失feature的名称,如下图所示。

如果你期望的data frame和dictionary的对应方式是这样:

{'col1':{row1:value1,row2:value2,row3:value...}...}

那需要用set_index对data frame的index进行处理。

当你将data frame的内容转化成嵌套字典(nested dictionary)之后,可以通过对其中k,v,第二层的k,v进行更多操作,如添加新的feature或者sample, 清理格式不对的字符等,以达到数据整理的目的(..=_=可能直接使用pandas也可以达到同样的目的,可能会更加简洁明了,弄明白了我会更新)。

使用pd.DataFrame(df.dict)dictionary转化为dataframe。

to_dict()可以在括号中添加各种参数,以得到不同的dictionary, 详细请见:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_dict.html

替换data frame中的字段:df.replace
为满足一些脚本的input格式,需要对原始数据进行整理。有的对data frame中所有的数据进行规整,有的仅针对某一列,有的对不同的列规整要求不一样。
df为例:
df中所有样本服用的drug都是aspirin

还有一个用法是Series.str.replace,其对象不是dataframe,但是可以将data frame中需要replace的列挑出来单独处理,比方说:
df['S_0001'] = df['S_0001'].str.replace('drug', 'aspirin')

df中S_0001样本的drugaspirin,S_0002样本的drugp-acetamidophenol:

定义一个字典用于囊括所有需要replace的项目,在样本量庞大,整理规则复杂的项目中使用十分便捷。

相关文章

网友评论

    本文标题:python学习:pandas学习笔记(一)

    本文链接:https://www.haomeiwen.com/subject/dgvfmxtx.html