数据清洗:Python将一列数据拆分成多列
数据清洗:Python将一列数据拆分成多列。
·
# 数据清洗:Python将一列数据拆分成多列
import pandas as pd
test_data = pd.read_excel('./test_split.xlsx')
columns = test_data.columns.to_list()
print(columns)
test_data.head()
def col_split(data):
'''统计需要进行拆分的字段:如果某一列所有非空取值均包含“:”,而不包含“http:”和“https:”,则需要拆分
'''
split_col = []
for i in columns:
num = 0
temp = data[i].dropna()
if len(temp)>0 : # 对于有取值的字段,判断是否需要拆分
for j in temp:
if ":" in str(j) and 'https:' not in str(j) and 'http:' not in str(j) :
num+=1
if num == len(temp):
print("需拆分:",i)
split_col.append(i)
print("需要拆分的字段:",split_col)
'''拆分数据并进行保存
'''
cleaned_data = pd.DataFrame()
for i in columns:
if i in split_col:
temp = data[i].str.split(':',expand=True)
cleaned_data[i] = temp[1] # 保留右侧一列
print(cleaned_data)
else:
cleaned_data[i] = data[i]
print("--- End ---")
return cleaned_data
col_split(test_data)
更多推荐
已为社区贡献2条内容
所有评论(0)