У меня проблемы с пандами, что я немного озадачен. У меня есть файл с большим количеством числовых значений, которые не требуют вычислений. Большинство из них выходят очень хорошо, но у меня есть пара, которая получает «.0», добавленную до конца.Pandas appending .0 to number
Вот пример файла ввода:
Id1 Id2 Age Id3
"SN19602","1013743", "24", "23523"
"SN20077","2567897", "28", "24687"
И выход генерируется:
Id1 Id2 Age Id3
"SN19602","1013743.0", "24", "23523"
"SN20077","2567897.0", "28", "24687"
Может кто-нибудь объяснить, почему некоторые, но не все числовые значения получаете +0,0 дописывается, и если я могу предотвратить это? Это проблема, когда я выполняю следующий шаг моего процесса с выходом CSV.
Я попытался преобразовать фрейм данных и сам столбец в строку, но это не повлияло. В идеале я не хочу перечислять каждый конвертируемый столбец, потому что у него очень большое количество столбцов, и он должен вручную пройти через выходной файл, чтобы выяснить, какие из них получают .0 и код для него. Любые предложения оценили.
import pandas as pd
import csv
df_inputFile = pd.read_csv("InputFile.csv")
df_mappingFile = pd.read_csv("MappingFile.csv")
df_merged = df_inputFile.merge(df_mappingFile, left_on="Id", right_on="Id", how="left")
#This isn't affecting the output
df_merged.astype(str)
df_merged.to_csv("Output.csv", index=False, quoting=csv.QUOTE_ALL)
У вас есть недостающие значения? если dtype для этого столбца, вероятно, теперь является float64, чтобы справиться с значениями «NaN», пожалуйста, выведите данные из 'df.info() 'вы также можете проверить этот столбец для nulls' np.any (df ['Id2']. isnull()) ' – EdChum
Hi @EdChum - Да, у меня есть значения NaN, и это допустимый сценарий .. которые должны просто оставаться NaN. Спасибо – EMC