【发布时间】:2021-06-11 03:31:33
【问题描述】:
问题很简单。这里我们有一个为列指定数据类型的数据框:
df = pd.DataFrame({'A':[1,2], 'B':[3,4]})
df.A = df.A.astype('int16')
#df
A B
0 1 3
1 2 4
#df.dtypes
A int16
B int64
dtype: object
现在我将两列 A 和 B 压缩成一个元组:
df['C'] = list(zip(df.A, df.B))
A B C
0 1 3 (1, 3)
1 2 4 (2, 4)
但是,现在C 列中值的数据类型已更改。
type(df.C[0][0])
#int
type(df.A[0])
#numpy.int16
如何压缩两列并将每个值的数据类型保留在元组中,使type(df.C[0][0]) 成为int16(与type(df.A[0]) 相同)?
【问题讨论】: