Я столкнулся с проблемой чтения моих данных, первый столбец назначен индексным, хотя я использую index_col=None
или index_col=None
. Аналогичная проблема, опубликованная как pandas read_csv index_col = Ни один не работает с разделителями в конце каждой строки
raw_data = {'patient': ['spried & roy']*5,
'obs': [1, 2, 3, 1, 2],
'treatment': [0, 1, 0, 1, 0],
'score': ['strong', 'weak', 'normal', 'weak', 'strong'],
}
df = pd.DataFrame(raw_data, columns = ['patient', 'obs', 'treatment', 'score'])
patient obs treatment score
0 spried & roy 1 0 strong
1 spried & roy 2 1 weak
2 spried & roy 3 0 normal
3 spried & roy 1 1 weak
4 spried & roy 2 0 strong
запись df в csv с разделенным табуляцией форматом
df.to_csv('xgboost.txt', sep='\t', index=False)
повторное чтение
read_df=pd.read_table(r'xgboost.txt', header=0,index_col=None, skiprows=0, skipfooter=0, sep="\t",delim_whitespace=True)
read_df
patient obs treatment score
spried & roy 1 0 strong
& roy 2 1 weak
& roy 3 0 normal
& roy 1 1 weak
& roy 2 0 strong
Как мы видим, столбец patient
разделен на spried &
, а roy
и spried &
стали столбцом индекса, даже если я явно напишу index_col=None
.
Как мы можем правильно получить столбец patient
, как он есть, и столбец контрольного индекса существует или нет?
thx