Столбец Pandas Dataframe будет содержать строку, но не целое число - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь установить значения в кадре данных на значения из отдельного кадра данных.Это прекрасно работает, когда исходный столбец является строкой, но целочисленные столбцы не копируются или выдают ошибку.

RentryDf=pd.DataFrame(index=tportDf.index.values,columns=tradesDf.columns)        
RentryDf.loc[:,'TRADER']=tportDf.loc[:,'TRADER']
RentryDf.loc[:,'CONTRACT_VOL']=tportDf.loc[:,'DELIVERY VOLUME']

во второй строке нет проблем с настройкой имен строк трейдера, но в третьей строке остается NaN.Я попробовал две строки кода, чтобы посмотреть, будут ли они работать, и даже они не работают.

RentryDf.loc[:,'CONTRACT_VOL']=11
RentryDf.loc[:,'CONTRACT_VOL'].apply(lambda x: 11)

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Я не могу воспроизвести ошибку, она работает как для float64, так и для int64.

Я полагаю, что проблема может быть в неправильной индексации, поскольку строка 1 создаст DF со всем значением как NaN.

0 голосов
/ 31 декабря 2018

Я решил свой вопрос, пытаясь воссоздать его (полагаю, я выучил хорошую стратегию!)

Проблема заключалась в том, что я замедлял фрейм данных, который проходил columns=tradesDf.columns, а не columns=tradesDf.columns.values.

Я рад, что это исправили, но кто-нибудь знает, почему это заставило бы DF не устанавливать целочисленные значения, но установило бы строковые значения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...