pythonint转换成str_把pandas转换int型为str型的方法

本文介绍了在处理数据时遇到的问题,即如何将pandas数据框中的int型数据转换为str型。通过应用apply和applymap函数成功解决,并提供了转换前后的数据类型对比。虽然直接使用str转换后保存文件未生效,但通过pandas的函数转换后保存的数据类型正确。
摘要由CSDN通过智能技术生成

今天在数据分析时遇到了一个小问题,这时才发现自己的基础知识真的不牢固,所以这里记录一下解决方法

问题:

我在处理完数据后得到的是一个列表,其中放入的是很多的元组,这时需要从元组中筛选数据保存为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 pd

import numpy as np

data = 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 #int64

n 5 non-null int64

dtypes: int64(2)

Data columns (total 2 columns):

m 5 non-null object #object

n 5 non-null object

dtypes: object(2)

再次打开查看,还是没有问题的,所以算是解决问题了。

但是我很是很疑惑,为什么我用str转换数据后保存,它却没有改变,有知道的朋友可以赐教,我有时间还是再去研究一下。

以上这篇把pandas转换int型为str型的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: 把pandas转换int型为str型的方法

本文地址: http://www.cppcns.com/jiaoben/python/251397.html

### 回答1: 可以使用Series对象的to_string()方法将其转换为字符串。例如: ```python import pandas as pd s = pd.Series([1, 2, 3, 4, 5]) s_str = s.to_string() print(s_str) ``` 输出结果为: ``` 1 1 2 2 3 3 4 4 5 ``` ### 回答2: Python中的Series是pandas库中重要的数据结构之一,它是一种一维的数据类,可以存储不同类的数据。在数据分析和处理中,经常需要将Series对象转换成字符串(str)类,以便于数据显示和处理。 在Python中,可以使用Series对象的to_string()方法将Series转换为字符串。to_string()方法默认会将整个Series对象输出为字符串,并可以通过一系列参数进行格式化和调整输出结果。 例如,如果有一个包含销售数据的Series对象sales_data,我们可以使用to_string()方法将其转换为字符串。下面是一个示例: ``` import pandas as pd # 创建包含销售数据的Series对象 sales_data = pd.Series({'A': 123, 'B': 456, 'C': 789}) # 将Series对象转换为字符串 sales_str = sales_data.to_string() # 输出结果 print(sales_str) ``` 以上代码执行后,输出结果为: ``` A 123 B 456 C 789 ``` 此外,还可以使用Series对象的astype()方法将Series转换为指定的数据类,例如int、float或str。astype()方法可以对Series中的每个元素进行数据类转换,从而生成一个新的Series对象。如果需要将Series转换为字符串类,只需要将astype()方法的参数设置为str即可。 例如,如果有一个包含数字类数据的Series对象num_data,我们可以使用astype()方法将其转换为字符串类。下面是一个示例: ``` import pandas as pd # 创建包含数字类数据的Series对象 num_data = pd.Series([123, 456, 789]) # 将Series对象转换为字符串类 str_data = num_data.astype(str) # 输出结果 print(str_data) ``` 以上代码执行后,输出结果为: ``` 0 123 1 456 2 789 dtype: object ``` 在上面的示例中,我们首先创建了一个包含数字类数据的Series对象num_data,然后使用astype()方法将其转换为字符串类,并存储在str_data中。最后,使用print()函数输出str_data的结果。 总之,Python中可以使用Series对象的to_string()方法将Series转换为字符串,并可以使用astype()方法将Series转换为指定类的数据,包括str。这两种方法都很方便,用户可以根据具体需求选择适合自己的方法。 ### 回答3: 在Python中,Series是一种Pandas库的数据结构,可以看做是一种带标签的一维数组。而strPython语言中的一个内置类,表示字符串。有时候我们需要将Series转换成str,以方便程序的运行和数据的处理。 那么,如何将Series转换成str呢?下面介绍两种常用的方法方法1:使用Series对象的astype()方法转换数据类 Series提供了astype()方法,可以将Series的数据类转换成指定的数据类,其中包括字符串类str。假设我们有一个Series对象s: s = pd.Series(['a', 'b', 'c', 'd']) 我们可以使用astype()方法将其转换str: s_str = s.astype(str) 这样,s_str就是一个由字符串组成的Series对象。 方法2:使用Series对象的apply()方法转换数据类 Series对象还提供了apply()方法,可以对Series的每一个元素进行指定的函数操作。我们可以定义一个函数转换每个元素为字符串类,并将其作为apply()的参数。例如: s = pd.Series([1, 2, 3, 4]) def to_str(x): return str(x) s_str = s.apply(to_str) 这样,s_str也是一个由字符串组成的Series对象。 需要注意的是,在使用apply()方法时,尽量避免使用循环,因为循环效率低下,会严重影响程序性能。 总的来说,以上两种方法都可以将Series对象转换成str。具体使用哪一种方法,要根据实际情况而定。如果只是单纯的类转换,可以使用astype()方法,如果需要进行复杂的元素转换,可以使用apply()方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值