python如何pandas字符串数据列变成int,需要提前处理空置为平均值
时间: 2024-05-07 19:16:25 浏览: 84
可以使用 pandas 中的 fillna 和 astype 方法来实现将字符串数据列转化为整型数据列,并且将空值填充为该列平均值的操作,具体代码如下:
```python
import pandas as pd
# 创建示例数据
data = {'A': ['1', '2', '3', '4', '5', ''],
'B': ['6', '7', '8', '9', '', '10']}
df = pd.DataFrame(data)
# 将字符串数据列转化为整型数据列
df['A'] = df['A'].fillna(df['A'].astype(float).mean()).astype(int)
df['B'] = df['B'].fillna(df['B'].astype(float).mean()).astype(int)
print(df)
```
上述代码中,首先创建了一个示例数据,接着使用 fillna 和 astype 方法将数据列 A 和 B 转化为整型数据列,并且将空值填充为该列平均值。最后输出转化后的数据框。
相关问题
python如何pandas字符串数据列变成int,并处理空置
可以使用 pandas 的 astype() 方法将字符串数据列转换为 int 类型,同时使用 fillna() 方法来处理空值。示例代码如下:
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({
'A': ['1', '2', '3', '4', None],
'B': ['5', '6', '7', None, '9']
})
# 将 A 列转换为 int 类型,并处理空值
df['A'] = pd.to_numeric(df['A'], errors='coerce').fillna(0).astype(int)
# 将 B 列转换为 int 类型,并处理空值
df['B'] = pd.to_numeric(df['B'], errors='coerce').fillna(0).astype(int)
# 输出转换后的 DataFrame
print(df)
```
输出结果如下:
```
A B
0 1 5
1 2 6
2 3 7
3 4 0
4 0 9
```
python如何pandas字符串数据列变成int,并处理空值为平均值
您可以使用 Pandas 中的 astype() 方法将字符串数据列转换为整数数据列,然后使用 fillna() 方法将空值替换为该列的平均值。下面是一个示例代码:
import pandas as pd
# 创建数据帧
df = pd.DataFrame({'A': ['1', '2', '3', '4', '5', ''],
'B': ['5', '4', '3', '2', '1', '']})
# 将数据类型转换为整数
df['A'] = df['A'].astype(int)
df['B'] = df['B'].astype(int)
# 计算每列的平均值
mean_A = df['A'].mean()
mean_B = df['B'].mean()
# 将空值替换为平均值
df['A'].fillna(mean_A, inplace=True)
df['B'].fillna(mean_B, inplace=True)
# 打印结果
print(df)
阅读全文