我有一个包含一列数字的文本文件:
10
20
40
13
24
35
44
我将其转换为pandas列,然后尝试将其转换为字符串。但是由于某些原因,我似乎无法这样做。
import pandas as pd
df=pd.read_csv('file.txt')
df.columns=['column1']
df['column1']=df['column1'].astype(str)
print(df['column1'])
这给出了:
0 10
1 20
2 40
3 13
4 24
5 35
6 44
Name: column1, dtype: object
dtype仍然是字符串的对象。不太清楚为什么会这样,因为astype应该将其转换为字符串。
答案 0 :(得分:1)
这就是pandas
定义列类型的方式,没有字符串类型的列,它属于object
df.column1.apply(type)
0 <class 'str'>
1 <class 'str'>
2 <class 'str'>
3 <class 'str'>
4 <class 'str'>
5 <class 'str'>
Name: column1, dtype: object
DataFrame不str.replace
你应该做
df.replace({'...':'...'})
或
df['column1']=df['column1'].str.replace()