我在DataFrame'用户'中有19列(q1到q19)我想从float转换为int。而不是手动输入它有没有办法自动化该过程?
我到目前为止的代码是:
users.q1 = users.q1.astype(int)
答案 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)