更改多个Pandas DataFrame列的数据类型

时间:2018-06-12 04:03:55

标签: python pandas

我在DataFrame'用户'中有19列(q1到q19)我想从float转换为int。而不是手动输入它有没有办法自动化该过程?

我到目前为止的代码是:

users.q1 = users.q1.astype(int)

3 个答案:

答案 0 :(得分:1)

传递要更改的列的列表:

import pandas as pd

df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [2, 3, 8], 'C':[5, 9, 12]})

df1[['A', 'B']] = df1[['A', 'B']].astype('float')
print(df1)

输出:

    A    B   C
0  1.0  2.0   5
1  2.0  3.0   9
2  3.0  8.0  12

我们可以将所有需要更改的列简化为一行,而不是为行换行。

答案 1 :(得分:0)

试试这个:

for i in users.columns:
    if <condition>:
        users[i] = users[i].astype(int)

答案 2 :(得分:0)

你可以试试这个

df.loc[:, 'q1':'q19'] = df.loc[:, 'q1':'q19'].astype(int)
相关问题