[英]Convert all columns from int64 to int32
您可以创建字典与所有列int64
通过D型DataFrame.select_dtypes
并将其转换为int32
由DataFrame.astype
,但不知道如果没有大的整数数字失败:
df = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')
})
d = dict.fromkeys(df.select_dtypes(np.int64).columns, np.int32)
df = df.astype(d)
print (df.dtypes)
A object
B int32
C int32
D int32
E int32
F object
dtype: object
使用DataFrame.select_dtypes
和DataFrame.astype
:
# example dataframe
df = pd.DataFrame({'A':list('abc'),
'B':[1,2,3],
'C':[4,5,6]})
A B C
0 a 1 4
1 b 2 5
2 c 3 6
# as we can see, the integer columns are int64
print(df.dtypes)
A object
B int64
C int64
dtype: object
df = df.astype({col: 'int32' for col in df.select_dtypes('int64').columns})
# int64 columns have been converted to int32
print(df.dtypes)
A object
B int32
C int32
dtype: object
您还可以使用 for 循环遍历 df 的列并检查它们的数据类型。
df = pd.DataFrame({'A': ['a','b','c'],
'B': [1,2,3],
'C': [4.0,5.0,6.0]})
print(df.dtypes)
A object
B int64
C float64
dtype: object
#if it's int64 set it as int32:
for column in df.columns:
if df[column].dtype == 'int64':
df[column] = df[column].astype('int32')
print(df.dtypes)
A object
B int32
C float64
dtype: object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.