Python:Pandas-datafram中的对象到字符串类型转换

2024-04-28 02:29:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用pandas将对象转换为数据帧中的字符串。 具有以下数据:

particulars
NWCLG 545627 ASDASD KJKJKJ ASDASD
TGS/ASDWWR42045645010009 2897/SDFSDFGHGWEWER
dtype:object

当试图使用astype()[与str、| S、| S32、| S80]类型一起使用或直接使用str函数将detacies列从对象转换为string时,它不是在string(保持对象)中转换,而对于str方法[将'/'替换为''],它说AttributeError: 'DataFrame' object has no attribute 'str'

使用熊猫0.23.4

也引用了:https://github.com/pandas-dev/pandas/issues/18796


Tags: 数据对象字符串pandasstringobjectdtypestr
2条回答

您可以阅读excel,将dtype指定为str

df = pd.read_excel("Excelfile.xlsx", dtype=str)

然后在particulars列中使用字符串替换,如下所示:

df['particulars'] = df[df['particulars'].str.replace('/','')]

请注意,df赋值也是“[]括号中的一个数据帧。

当您在程序中使用下面的命令时,它将返回一个字符串,您正试图将该字符串分配给数据帧列。因此产生了错误。

df['particulars'] = df['particulars'].str.replace('/',' ')

您可以使用:

df['particulars'] = df['particulars'].astype('|S')

或:

df['particulars'] = df['particulars'].astype(str)

然后使用下面的,实际上str属性可以工作,即使在您的情况下,只要您以错误的方式访问它,您只能访问列(Series):

df['particulars'] = df['particulars'].str.replace('/',' ')

现在:

print(df)

将是理想的结果。

编辑:

我意识到您只需编写下面的整个代码,因为object表示str

df['particulars'] = df['particulars'].astype(str).str.replace('/',' ')

相关问题 更多 >