Дженерики: что такое “ограничение КОНСТРУКТОРА”?

Один из методов заключается в том, чтобы читать по одному столбцу за раз и сохранять в виде списка и concat результат:

In[121]:
t="""D,B,A,C
4,2,1,3"""
cols = list('ABCD')
pd.concat([pd.read_csv(io.StringIO(t), usecols=[x]) for x in cols], axis=1)

Out[121]: 
   A  B  C  D
0  1  2  3  4

Однако я думаю, что проще просто отсортировать его по подпунктам -выбирая столбцы в том порядке, который вы хотите после прочтения в обычном режиме:

df = df[['A','B','C','D']]
9
задан Mason Wheeler 6 March 2009 в 16:53
поделиться

1 ответ

Вы пытаетесь создать экземпляр T через T.Create. Это не работает, потому что компилятор не знает, что Ваш универсальный тип имеет конструктора без параметров (помните: это не требование). Для исправления этого необходимо создать ограничение конструктора, которое похоже на это:

<T: constructor>

или, в Вашем конкретном случае:

<T: TBaseDatafile, constructor>
17
ответ дан 4 December 2019 в 11:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: