如何使用 python csv 在单独的列中分隔整数和小数?
how to separate the whole number and decimal numbers in a separate columns using python csv?
我看到很多类似的问题,但是 none 已经使用 python 在 csv 文件中完成了。基本上我有一个带有小数的列,我想编写一个代码,它创建 2 个新列,一个用于整数,另一个用于小数。我使用下面的代码将该列转换为数字。
df['hour_num'] = pd.to_numeric(df['total_time'])
我已经有了 'total_time' 和 'hour_num' 列。我想知道如何获取列 'Whole number' 和 'Decimal'
这是帮助更好理解的图片。
pic
您可以将数字转换为字符串并在 .
上拆分,转换为 DataFrame 并分配给原始 DataFrame。
df = pd.DataFrame({'col1':[2.123, 3.557, 0.123456]})
df[['whole number', 'decimal']] = df['col1'].astype(str).str.split('.').apply(pd.Series)
df['decimal'] = ('0.' + df['decimal']).astype(float)
df['whole number'] = df['whole number'].astype(int)
输出:
col1 whole number decimal
0 2.123000 2 0.123000
1 3.557000 3 0.557000
2 0.123456 0 0.123456
我看到很多类似的问题,但是 none 已经使用 python 在 csv 文件中完成了。基本上我有一个带有小数的列,我想编写一个代码,它创建 2 个新列,一个用于整数,另一个用于小数。我使用下面的代码将该列转换为数字。
df['hour_num'] = pd.to_numeric(df['total_time'])
我已经有了 'total_time' 和 'hour_num' 列。我想知道如何获取列 'Whole number' 和 'Decimal'
这是帮助更好理解的图片。 pic
您可以将数字转换为字符串并在 .
上拆分,转换为 DataFrame 并分配给原始 DataFrame。
df = pd.DataFrame({'col1':[2.123, 3.557, 0.123456]})
df[['whole number', 'decimal']] = df['col1'].astype(str).str.split('.').apply(pd.Series)
df['decimal'] = ('0.' + df['decimal']).astype(float)
df['whole number'] = df['whole number'].astype(int)
输出:
col1 whole number decimal
0 2.123000 2 0.123000
1 3.557000 3 0.557000
2 0.123456 0 0.123456