当前位置: 首页 > 知识库问答 >
问题:

将dataframe中的列从int转换为string

柳均
2023-03-14

我在pandas中有一个数据帧,它混合了int和str数据列。我想先连接dataframe中的列。为此,我必须将int列转换为str。我试着做了如下工作:

mtrx['X.3'] = mtrx.to_string(columns = ['X.3'])

mtrx['X.3'] = mtrx['X.3'].astype(str)

但在这两种情况下,它都不起作用,我得到一个错误,说“不能连接'str'和'int'对象”。将两个str列串联在一起可以很好地工作。

共有3个答案

荣声
2023-03-14

警告:给定的两个解决方案(astype()和Application())都不保留NULL值,无论是以nan还是无形式。

import pandas as pd
import numpy as np

df = pd.DataFrame([None,'string',np.nan,42], index=[0,1,2,3], columns=['A'])

df1 = df['A'].astype(str)
df2 =  df['A'].apply(str)

print df.isnull()
print df1.isnull()
print df2.isnull()

我相信这是由to_string()的实现修复的

章昊
2023-03-14

更改DataFrame列的数据类型:

至int:

df.column_name=df.column_name.astype(np.int64)

至str:

df.column\u name=df.column\u name.astype(str)

龙枫
2023-03-14
In [16]: df = DataFrame(np.arange(10).reshape(5,2),columns=list('AB'))

In [17]: df
Out[17]: 
   A  B
0  0  1
1  2  3
2  4  5
3  6  7
4  8  9

In [18]: df.dtypes
Out[18]: 
A    int64
B    int64
dtype: object

转换一个系列

In [19]: df['A'].apply(str)
Out[19]: 
0    0
1    2
2    4
3    6
4    8
Name: A, dtype: object

In [20]: df['A'].apply(str)[0]
Out[20]: '0'

别忘了把结果分配回去:

df['A'] = df['A'].apply(str)

转换整个帧

In [21]: df.applymap(str)
Out[21]: 
   A  B
0  0  1
1  2  3
2  4  5
3  6  7
4  8  9

In [22]: df.applymap(str).iloc[0,0]
Out[22]: '0'
df = df.applymap(str)
 类似资料:
  • 问题内容: 我在具有两列mvv和count的数据帧上工作。 我想获得两个包含mvv值和计数值的列表。就像是 因此,我尝试了以下代码:第一行应返回一个python行列表。我想看第一个值: 但是我在第二行收到一条错误消息: AttributeError:getInt 问题答案: 瞧,为什么您这样做的方式行不通。首先,您尝试从行类型获取整数,collect的输出如下所示: 如果您采取这样的做法: 您将获

  • 但我得到第二行的错误消息: AttributeError:getInt

  • 我有一个HashMap和一个包含键/值的属性文件。属性文件以这种格式存储键/值“4,5=2”我构建了一个从文件加载属性的方法,它将这对“键/值”放入一个HashMap数组(字符串、整数)中。但我的问题是,我希望键的每个元素都存储为int形式,以便将它们用作另一个方法的参数。键存储为字符串。如有任何帮助,我们将不胜感激。谢谢你!

  • 然后输入LDA: 但是在Java API中,我使用以下代码获得了CountVectorizerModel: 像这样: 我使用的是Spark和MLlib 1.5.1以及Java8 任何帮助都是非常感谢的。谢谢,当我试图从DataFrame转换为JavaPairRDD时,这里是异常日志文件

  • 问题内容: 我正在尝试将数据框的一栏转换为日期时间。在这里的讨论之后,https://github.com/dask/dask/issues/863我尝试了以下代码: 但是我收到以下错误消息 我到底应该把什么放在meta之下?我应该将所有列的字典放在df中还是仅将“时间”列放在字典中?我应该放什么类型?我已经尝试过dtype和datetime64,但到目前为止它们都没有工作。 谢谢,感谢您的指导,

  • 我正在遍历数据帧的行以提取如下值,但我收到的总是一个浮点值,并且我无法将和 你知道为什么会这样吗?尝试了多种方法,包括和,但尽管采用了这种方法,还是没有成功 有趣的是,当我输出,我得到作为int,但是一旦我输出整个数据帧通过调用,我仍然得到作为一个浮动 样本数据(输入): 样本数据(输出): 刚刚尝试了,得到了相同的结果。