想把数量列转变为float,请大师帮忙,谢谢
想把数量列转变为float,请大师帮忙,谢谢import pandas as pd
data = [["2345", "A", "2"],
["004243", "C", "34"],
["162411", "E", "暂无数据"],
["163208", "G", "3456"]]
columns = ["编号", "名称", "数量"]
df = pd.DataFrame(data, columns=columns)
print(df) 当然可以帮忙,首先我们需要将"暂无数据"替换为NaN,然后再将数量列转换为float类型。以下是修改后的代码:
import pandas as pd
import numpy as np
data = [["2345", "A", "2"],
["004243", "C", "34"],
["162411", "E", "暂无数据"],
["163208", "G", "3456"]]
columns = ["编号", "名称", "数量"]
df = pd.DataFrame(data, columns=columns)
# 替换"暂无数据"为NaN
df['数量'] = df['数量'].replace('暂无数据', np.nan)
# 将数量列转换为float类型
df['数量'] = df['数量'].astype(float)
print(df)
这样你就可以得到一个将"数量"列转换为float类型的DataFrame。 "execution_count": null,
NameError: name 'null' is not defined futui 发表于 2023-5-6 15:41
"execution_count": null,
NameError: name 'null' is not defined
您已经使用了比较好的方式来将数量列转换为float类型,使用astype()函数将数量列中的元素转换为浮点数即可。
以下是修改后的示例代码:
```
import pandas as pd
import numpy as np
data = [["2345", "A", "2"],
["004243", "C", "34"],
["162411", "E", "暂无数据"],
["163208", "G", "3456"]]
columns = ["编号", "名称", "数量"]
df = pd.DataFrame(data, columns=columns)
# 替换"暂无数据"为NaN
df['数量'] = df['数量'].replace('暂无数据', np.nan)
# 将数量列转换为float类型
df['数量'] = df['数量'].astype(float)
print(df)
```
输出结果如下:
```
编号 名称 数量
0 2345A 2.0
1004243C 34.0
2162411E NaN
3163208G3456.0
```
可以看到,数量列已经被成功转换为float类型,并且原来的"暂无数据"也被替换成了NaN。
页:
[1]