Python 将数据类型:对象转换为整数的列,该列的数字之间有空格
我有以下数据框,我试图删除value列中数字之间的空格,然后使用pd.to_numeric更改数据类型。值的当前数据类型是对象Python 将数据类型:对象转换为整数的列,该列的数字之间有空格,python,pandas,Python,Pandas,我有以下数据框,我试图删除value列中数字之间的空格,然后使用pd.to_numeric更改数据类型。值的当前数据类型是对象 periodFrom value 1 17.11.2020 28 621 240 2 18.11.2020 30 211 234 3 19.11.2020 33 065 243 4 20.11.2020 34 811 330 我尝试了多种不同的方法,但无法解决: df['value'] = df['value'].str.strip(
periodFrom value
1 17.11.2020 28 621 240
2 18.11.2020 30 211 234
3 19.11.2020 33 065 243
4 20.11.2020 34 811 330
我尝试了多种不同的方法,但无法解决:
df['value'] = df['value'].str.strip()
df['value'] = df['value'].str.replace(',', '').astype(int)
df['value'] = df['value'].astype(str).astype(int)
你可以做:
df['value'].replace({' ':''}, regex=True)
或
并添加到这两个
.astype(int)
中,一个选项是首先应用.str.split()
,以便按空格分割(即使其中任何一个都有一个以上的字符长度),然后连接('.join()
),同时删除这些空格并转换为整数(int()
)
你和targetThanks非常接近,这最终还是奏效了。太好了,这很有帮助!不客气@hey\u arnold
df['value'].apply(lambda x: re.sub(' ', '', str(x)))
j=0
for i in df['value'].str.split():
df['value'][j]=int(''.join(i))
j+=1