在这个例子中,如何从Python数据帧中去除空白

2024-04-24 21:22:00 发布

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

我正在将excel文件读入数据帧。我需要从所有单元格中去掉空白,使其他单元格在Python 3.5中保持不变。 例如:

from pandas import Series, DataFrame
import pandas as pd
import numpy as np

#read data from DataFrame
data_ThisYear_Period=[[' 序 号','北  京','上  海','  广州'],\
                      ['  总计','11232',' 2334','3 4'],\
                      [' 温度','1223','23 23','2323'],\
                      ['人 口','1232','21 321','1222'],\
                      ['自行车', '1232', '21321', '12  22']]
data_LastYear_Period=DataFrame(data_ThisYear_Period)
print(type(data_LastYear_Period))

data_ThisYear_Period.apply(data_ThisYear_Period.str.strip(),axis=1)

回溯(最近的调用最后一次): 文件“C:/test”/py温度“,第17行,英寸 数据\u今年_期间。适用(本年数据\u_周期str.strip(),轴=1) AttributeError:'list'对象没有属性“apply”

如何从本例中的Python数据帧中剥离空白


Tags: 文件数据fromimportdataframepandasdataas
1条回答
网友
1楼 · 发布于 2024-04-24 21:22:00

对数据帧使用applymap,applymap对每个单元格应用lambda函数。在lambda函数中,拆分字符串(忽略其中的空格),然后将其连接起来。如果存在int,那么可以在lambda函数中使用If else。在

from pandas import Series, DataFrame
import pandas as pd
import numpy as np

#read data from DataFrame
data_ThisYear_Period=[[' 序 号','北  京','上  海','  广州'],\
                      ['  总计','11232',' 2334','3 4'],\
                      [' 温度','1223','23 23','2323'],\
                      ['人 口',1232,'21 321','1222'],\
                      ['自行车', '1232', '21321', '12  22']]

data_LastYear_Period=DataFrame(data_ThisYear_Period)
print data_LastYear_Period
data_LastYear_Period = data_LastYear_Period.applymap((lambda x: "".join(x.split()) if type(x) is str else x ))

print data_LastYear_Period

结果

^{pr2}$

顺便说一句,你得到这个特别的错误是因为

data_ThisYear_Period.apply(data_ThisYear_Period.str.strip(),axis=1)

data_ThisYear_Period是一个列表,而不是pandas数据帧(data_LastYear_Period

相关问题 更多 >