python数据处理/pandas教程:数据预处理、数据存储、数据加载等等

一、数据加载-pandas常用方法

pandas读取/写入文件

参考资料:
pandas:https://pandas.pydata.org/
pandas之数据存储 https://www.cnblogs.com/harden13/p/12987359.html

读excel格式文件xls xlsx

c_df = pd.read_excel('data/circulation.xls',header=None,names=['minra','disease'])
#header = None表示,所读取的文件的第一行不是列名
#namse=[]是对列名就行修改
当出现Excel xlsx file; not supported两种解决办法:
原因:xlrd1.2.0之后的版本不支持xlsx格式,支持xls格式

办法一:

卸载新版本 pip uninstall xlrd

安装老版本:pip install xlrd=1.2.0 (或者更早版本)

方法二:

将xlrd用到的excel版本格式修改为xls(保险起见,另存为xls格式)

建议:个人更推荐使用第二种方法

pandas如何获取元素值

https://blog.csdn.net/sinat_29675423/article/details/87975489

pandas列的重命名操作

https://blog.csdn.net/irober/article/details/107041407

pandas列的拼接操作

pandas按照列的值排序(某一列或者多列)

https://www.jb51.net/article/202043.htm

d = {'A': [3, 6, 6, 7, 9], 'B': [2, 5, 8, 0, 0]}
df = pd.DataFrame(data=d)
print('排序前:\n', df)
'''
排序前:
 A B
0 3 2
1 6 5
2 6 8
3 7 0
4 9 0
'''
res = df.sort_values(by='A', ascending=False) #ascending代表是否递增排序
print('按照A列的值排序:\n', res)
'''
按照A列的值排序:
 A B
4 9 0
3 7 0
1 6 5
2 6 8
0 3 2
'''

pandas数据筛选操作

筛选行:

a. 按照列的条件筛选

  df = pandas.DataFrame(...) # supposing it has 3 columns: a, b and c

  df[(df['a'] > 0) & (df['b'] < 0) | df['c'] > 0]

b. 按照索引的条件筛选

  needed_seq=[1,2,3,6]

  needed_df = df.loc[needed_seq]

筛选列:

a. 筛选多列

  dfs = df[['a','b']]

pandas添加一列固定值

https://www.cnblogs.com/rrttp/p/8108188.html

字典转pandas

import pandas as pd
a=[1,2,3,4]#列表a
b=[5,6,7,8]#列表b
c={"a" : a,
 "b" : b}#将列表a,b转换成字典
data=pd.DataFrame(c)#将字典转换成为数据框
print(data)

二、数据预处理

2.1 生成graph数据的one hot编码

如何逐行读取(或者逐列读取 )dataframe对象?
参考资料:在pandas中遍历DataFrame行

有如下 Pandas DataFrame:

import pandas as pd
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]
df = pd.DataFrame(inp)
print df

输出结果:

   c1   c2
0  10  100
1  11  110
2  12  120
for index, row in df.iterrows():
    print row["c1"], row["c2"]
# 如果是系统默认的0,1这种列名,则不用加“”号

输出结果:

10  100
11  110
12  120

三、数据存储

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值