时间:2021-05-22
今天在数据分析时遇到了一个小问题,这时才发现自己的基础知识真的不牢固,所以这里记录一下解决方法
问题:
我在处理完数据后得到的是一个列表,其中放入的是很多的元组,这时需要从元组中筛选数据保存为csv文件,但是我的数据都是int型的,所以我简单的使用了一个循环wf.write('{},{}\n'.format(str(item[0][0]),str(item[0][1]))),通过str来转换保存为str类型,但是当我再次打开文件时,发现它居然还是int,保存前都是str,真是奇了怪了。
这时该如何是好,在写入的时候没有解决,所以我将它保存下来,再用pandas打开,想着在pandas中解决,pandas中该怎么解决呢?试了很久,终于想到了apply函数:应用于各行或各列。
我试了一下,果真能解决,但是apply还是有点麻烦,需要一列一列的修改,这时我又想到了applymap函数:应用于整个文件。完美!
举个简单的例子:
import pandas as pdimport numpy as npdata = pd.DataFrame({'m':[1,2,3,4,5],'n':[6,7,8,9,0]})print(data.info()) # data['m'] = data['m'].apply(str)# data['n'] = data['n'].apply(str) data = data.applymap(str)print(data.info())下面是修改前、后的数据类型的改变:
Data columns (total 2 columns):m 5 non-null int64 #int64n 5 non-null int64dtypes: int64(2) Data columns (total 2 columns):m 5 non-null object #objectn 5 non-null objectdtypes: object(2)再次打开查看,还是没有问题的,所以算是解决问题了。
但是我很是很疑惑,为什么我用str转换数据后保存,它却没有改变,有知道的朋友可以赐教,我有时间还是再去研究一下。
以上这篇把pandas转换int型为str型的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、date型转换成int型UNIX_TIMESTAMP('1997-10-0422:23:00')=====>875996580二、int型转换成date型F
1.数值型到String型的转化假设该数值型(int/float/double)变量为:num其转化后得到的字符串为:str则其转化为字符串的方式为有三种,分别
1、采用强转的方式floata=1.1L;//定义一个float型变量,变量名为a,值为1.1,L表示是浮点型intb=(int)a;//用(int)强制转换为
数据类型转换:今天遇到一个问题,就是DataFrame类型的数据里是str型的数字,想把数字转换为int或float;百度没有发现好的,也可能输入的关键字不对,
不使用int()函数的情况下把字符串转换为数字,如把字符串"12345"转换为数字12345。方法一:利用str函数既然不能用int函数,那我们就反其道而行,用