将 excel 中的列混合为 Pandas 中的一列
Mix of columns in excel to one colum with Pandas
我必须在代码中导入这个 Excel,我想将多索引统一到一个列中。我想删除未命名的列并将所有内容统一为一个。不知道可不可以
我尝试了以下方法并导入,但输出结果与预期不符。我也在这里添加代码
import pandas as pd
import numpy as np
macro = pd.read_excel(nameExcel, sheet_name=nameSheet, skiprows=3, header=[1,3,4])
macro = macro[macro.columns[1:]]
macro
我找到的最佳选择是手动保存数组中列的名称,然后将先前数组的列名称与手动创建的列相等(我创建了一个字典以使其更优雅):
DICT_TP_PD_NAMES_CON = {
'Clave de Agregación': {TP_DATIO_NAME: 'aggregate_pd_id',
ORDER_ID: 2,
FLAG_ORDER: True,
COLUMN_INDEX: 1},
'Número de Cuotas Impagadas Desde': {TP_DATIO_NAME: 'outstanding_payments_from_number',
ORDER_ID: 3,
FLAG_ORDER: True,
COLUMN_INDEX: 2},
...
然后取列名减去列名:
import pandas as pd
import numpy as np
columns = []
for var, var_dict in DICT_TP_MODEL_PD.items():
columns.append(var_dict.get('TP_DATIO_NAME'))
macro = pd.read_excel(nameExcel, sheet_name=nameSheet, skiprows=4,header=[0,1,2,3])
macro = macro[macro.columns[1:]]
if len(macro.columns) == len(columns):
macro.columns = columns
else:
print("error")
macro
我必须在代码中导入这个 Excel,我想将多索引统一到一个列中。我想删除未命名的列并将所有内容统一为一个。不知道可不可以
我尝试了以下方法并导入,但输出结果与预期不符。我也在这里添加代码
import pandas as pd
import numpy as np
macro = pd.read_excel(nameExcel, sheet_name=nameSheet, skiprows=3, header=[1,3,4])
macro = macro[macro.columns[1:]]
macro
我找到的最佳选择是手动保存数组中列的名称,然后将先前数组的列名称与手动创建的列相等(我创建了一个字典以使其更优雅):
DICT_TP_PD_NAMES_CON = {
'Clave de Agregación': {TP_DATIO_NAME: 'aggregate_pd_id',
ORDER_ID: 2,
FLAG_ORDER: True,
COLUMN_INDEX: 1},
'Número de Cuotas Impagadas Desde': {TP_DATIO_NAME: 'outstanding_payments_from_number',
ORDER_ID: 3,
FLAG_ORDER: True,
COLUMN_INDEX: 2},
...
然后取列名减去列名:
import pandas as pd
import numpy as np
columns = []
for var, var_dict in DICT_TP_MODEL_PD.items():
columns.append(var_dict.get('TP_DATIO_NAME'))
macro = pd.read_excel(nameExcel, sheet_name=nameSheet, skiprows=4,header=[0,1,2,3])
macro = macro[macro.columns[1:]]
if len(macro.columns) == len(columns):
macro.columns = columns
else:
print("error")
macro