python3 pandas 的DataFrame中某一列的数据格式为'100,456',怎么将整列转为int
时间: 2023-02-08 11:42:11 浏览: 73
你可以使用 `pd.to_numeric` 函数来将 DataFrame 中的列转化为数值型。
例如:
```
import pandas as pd
df = pd.DataFrame({'col': ['100,456', '200,987', '300,321']})
df['col'] = pd.to_numeric(df['col'].str.replace(',', ''))
```
这样就可以将 `df['col']` 中的数据转化为 int 类型了。
注意,如果有些单元格中的数据无法被转化为数值型,则会被赋值为 `NaN`。你可以使用 `df.fillna()` 函数来填充这些缺失值。
相关问题
python pandas将某列数据类型转为int型,对无法转换的数据赋空值
您可以使用pandas中的`to_numeric()`方法将某列数据类型转为int型,并使用`errors='coerce'`参数对无法转换的数据赋空值。示例如下:
```python
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({'A': ['1', '2', '3', '4', 'a', 'b', 'c']})
# 将A列数据类型转为int型,无法转换的数据赋空值
df['A'] = pd.to_numeric(df['A'], errors='coerce')
# 查看转换后的DataFrame
print(df)
```
输出结果为:
```
A
0 1.0
1 2.0
2 3.0
3 4.0
4 NaN
5 NaN
6 NaN
```
其中,原本为字符串类型的数据被成功转换为了浮点型(因为pandas中没有int型的缺失值)。无法转换的字符串被赋值为了NaN。
python找dataframe中某一列大于100或者小于0的数
你可以使用 Pandas 库来实现这个功能。下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [101, 5, -3, 200], 'C': [0, 2, 4, 6]})
# 找到 B 列中大于100或小于0的值
result = df[(df['B'] > 100) | (df['B'] < 0)]['B']
# 打印结果
print(result)
```
这段代码会输出 B 列中大于100或小于0的值,即:
```
1 101
2 -3
3 200
Name: B, dtype: int64
```
其中,`df[(df['B'] > 100) | (df['B'] < 0)]` 用来筛选出符合条件的行,然后通过 `['B']` 操作选取 B 列,最终得到结果。