Я пытаюсь преобразовать массив данных pandas в серию кортежей:
Пример ввода:
df = pd.DataFrame([[1,2,3.0],[3,4,5.0]])
Желаемый вывод:
0 (1, 2, 3.0)
1 (3, 4, 5.0)
dtype: object
Однако панды, кажется, заставляют мои целочисленные столбцы плавать.
Я пытался
import pandas as pd
df = pd.DataFrame([[1,2,3.0],[3,4,5]])
print(df)
print(df.dtypes)
print(df.apply(tuple,axis=1,reduce=False).apply(str))
Фактическая выработка:
0 1 2
0 1 2 3.0
1 3 4 5.0
0 int64
1 int64
2 float64
dtype: object
0 (1.0, 2.0, 3.0)
1 (3.0, 4.0, 5.0)
dtype: object
Этот вопрос предлагает использовать reduce=False
, но это ничего не меняет для меня.
Может ли кто-нибудь объяснить, почему панды принуждают тип данных где-то по пути?