DataFrame 修改行列标题
时间: 2023-11-09 09:13:02 浏览: 39
要修改 DataFrame 的行列标题,可以使用 `rename()` 方法。该方法有一个 `columns` 参数和一个 `index` 参数,它们分别用于修改列标题和行标题。
以下是一个示例:
```python
import pandas as pd
# 创建一个 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
# 修改列标题
df = df.rename(columns={'name': 'Name', 'age': 'Age', 'gender': 'Gender'})
# 修改行标题
df = df.rename(index={0: 'A', 1: 'B', 2: 'C'})
# 打印修改后的 DataFrame
print(df)
```
输出:
```
Name Age Gender
A Alice 25 F
B Bob 30 M
C Charlie 35 M
```
在上面的示例中,我们使用 `rename()` 方法将列标题从小写修改为大写,并将行标题从数字修改为字母。
相关问题
DataFrame 修改行列标题的不同方法
Pandas 中有多种方法可以修改 DataFrame 的行列标题:
1. 修改列标题:使用 DataFrame 的 `rename` 方法,指定 `columns` 参数为一个字典,将原始标题映射到新标题:
```
df = df.rename(columns={'old_name': 'new_name'})
```
2. 修改行标题:使用 DataFrame 的 `rename` 方法,指定 `index` 参数为一个字典,将原始标题映射到新标题:
```
df = df.rename(index={'old_name': 'new_name'})
```
3. 直接修改列标题:使用 DataFrame 的 `columns` 属性,将原始标题列表替换为新标题列表:
```
df.columns = ['new_name1', 'new_name2', ...]
```
4. 直接修改行标题:使用 DataFrame 的 `index` 属性,将原始标题列表替换为新标题列表:
```
df.index = ['new_name1', 'new_name2', ...]
```
注意,以上方法均会返回一个新的 DataFrame,如果需要修改原始 DataFrame,需要将修改后的结果重新赋值给原始 DataFrame。
pd.DataFrame修改行列标签
要修改 Pandas DataFrame 的行和列标签,可以使用 `rename` 方法。下面是一些示例代码,说明如何修改行和列标签:
1. 修改行标签:
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 修改行标签
df = df.rename(index={'a': 'x', 'b': 'y', 'c': 'z'})
print(df)
```
输出:
```
A B
x 1 4
y 2 5
z 3 6
```
2. 修改列标签:
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 修改列标签
df = df.rename(columns={'A': 'X', 'B': 'Y'})
print(df)
```
输出:
```
X Y
a 1 4
b 2 5
c 3 6
```
注意,`rename` 方法默认会返回一个新的 DataFrame,如果要在原 DataFrame 上修改标签,需要设置 `inplace=True` 参数。
```python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
# 在原 DataFrame 上修改行标签
df.rename(index={'a': 'x', 'b': 'y', 'c': 'z'}, inplace=True)
# 在原 DataFrame 上修改列标签
df.rename(columns={'A': 'X', 'B': 'Y'}, inplace=True)
print(df)
```