pandas DataFrame的一些操作

最近做数据预处理遇到了一些小问题,记录一下。

1.数据的读取和存储

一般读取数据使用pandas里的read_csv

pd.read_csv(path, sep=',', header=None, nrows=n)

另外通用的读取为:

with open(filename, 'r', encoding='utf-8') as fr:  #这里注意如果是中文的文件可能需要改encoding为gbk

  fr.readlines()

相对应的写入操作为

df.to_csv(path,header=0, index=0)#不保留行列名的写法

with open(filename, 'w', encoding='utf-8') as fw:

  fr.writelines(str+'\n')

通用的读取数据要求格式为string,因此对于列表格式还要把它转成string,字符串和列表相互转化如下:

test_str = " ".join(test_list)

test_list=list(test_str)  

2.DataFrame常用的数据处理

查看前几行:df.head()

查看某个元素:df.ix[:, :] #可以根据索引选取

条件选取元素:df.loc[:, df[column]><=k],df.iloc[];二者区别在于前者根据名字选取,后者根据索引值选取

空值处理:

查询每列空值总数:df.isnull().sum()

选取某列非空值:df[df[col].notnull()&df[col]!='']

填充空值:df.fillna({col:value...})

删除空值:df.dropna(axis=0, how=‘any’) #0表示行,1表示列,any表示任何含有nan的行或列,all表示所有值都为nan的行或列

替换空值:df.replace(to_replace, value)#用value代替to_replace

查看行列数量:df.shape()

转成list:df.tolist()

字典转DataFrame:pd.DataFrame.from_dict(dict, orient='index', columns=[col])

DataFrame转字典:dict = df.set_index(col1).T.to_dict(col2)

3.字符串合并

str = str1+ " " +str2  #文本处理会用到

转载于:https://www.cnblogs.com/danny92/p/10874384.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值