pandas 修改多列数据格式
时间: 2023-07-28 18:47:32 浏览: 43
你可以使用 `DataFrame` 的 `astype` 方法来修改多列的数据格式。例如,将两列的数据类型都转换为整数类型,可以这样做:
```python
import pandas as pd
# 创建示例数据
data = {'col1': ['1', '2', '3'], 'col2': ['4', '5', '6'], 'col3': ['7.1', '8.2', '9.3']}
df = pd.DataFrame(data)
# 查看数据类型
print(df.dtypes)
# 将 col1 和 col2 转换为整数类型
df[['col1', 'col2']] = df[['col1', 'col2']].astype(int)
# 查看修改后的数据类型
print(df.dtypes)
```
输出结果为:
```
col1 object
col2 object
col3 object
dtype: object
col1 int64
col2 int64
col3 float64
dtype: object
```
可以看到,`col1` 和 `col2` 的数据类型已经被成功修改为整数类型。注意,在使用 `astype` 方法时,需要指定要修改的列名列表,这里使用了双重中括号。
相关问题
使用pandas将一列数据多处修改
可以使用pandas的loc函数来修改多处数据,具体操作可以参考以下代码:
```python
import pandas as pd
# 创建测试数据
data = {'Name': ['Tom', 'John', 'Alice', 'Bob'], 'Score': [80, 75, 90, 85]}
df = pd.DataFrame(data)
# 将名字为Tom和Alice的分数都修改为100
df.loc[df['Name'].isin(['Tom', 'Alice']), 'Score'] = 100
# 输出修改后的数据
print(df)
```
输出结果为:
```
Name Score
0 Tom 100
1 John 75
2 Alice 100
3 Bob 85
```
希望可以帮到您!
pandas apply 批量修改多列
`apply()`方法可以批量修改多列数据,示例如下:
```python
import pandas as pd
# 创建一个包含多列数据的DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
# 定义批量修改函数
def modify(row):
row['A'] = row['A'] * 2
row['B'] = row['B'] * 3
row['C'] = row['C'] * 4
return row
# 批量修改多列数据
df = df.apply(modify, axis=1)
```
上述代码中,定义了一个`modify()`函数,该函数接受一个Series对象作为参数,对A、B、C三列数据进行修改,并返回修改后的Series对象。然后使用`apply()`方法对DataFrame进行遍历,并应用`modify()`函数进行批量修改。最终得到的df对象就是修改后的DataFrame。需要注意的是,`apply()`方法默认是按行遍历DataFrame,所以需要设置`axis=1`参数。