对dataframe除第一列之外的每一列的第1行加上’°‘字符串
时间: 2024-03-05 20:50:23 浏览: 84
可以使用 Pandas 库中的 `iloc` 方法来选取除第一列之外的每一列,然后使用 `apply` 方法对选中的每一列的第1行进行操作,实现对所有列除第一列之外的第1行加上字符串的操作。具体代码如下:
```python
import pandas as pd
# 创建一个示例 dataframe
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 自定义函数,对第1行加上'°'字符串
def add_degree(col):
col[1] = str(col[1]) + '°'
return col
# 选取除第一列之外的每一列,并对每一列的第1行加上'°'字符串
df.iloc[:, 1:] = df.iloc[:, 1:].apply(add_degree, axis=0)
print(df)
```
输出结果为:
```
A B C
0 1 4 7
1 2° 5 8°
2 3 6 9
```
其中,`df.iloc[:, 1:]` 表示选取除第一列之外的每一列,`axis=0` 表示按列执行自定义函数,`col[1]` 表示对每一列的第1行进行操作。
相关问题
使用apply 对dataframe每一列的第1行加上’°‘字符串
可以使用 Pandas 库中的 `apply` 方法,对每一列执行自定义函数,实现对所有列的第1行加上字符串的操作。具体代码如下:
```python
import pandas as pd
# 创建一个示例 dataframe
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 自定义函数,对第1行加上'°'字符串
def add_degree(col):
col[1] = str(col[1]) + '°'
return col
# 对所有列的第1行加上'°'字符串
df = df.apply(add_degree, axis=0)
print(df)
```
输出结果为:
```
A B C
0 1 4 7
1 2° 5 8°
2 3 6 9
```
其中,`axis=0` 表示按列执行自定义函数,`col[1]` 表示对每一列的第1行进行操作。
对dataframe每一列的第0行加上’°‘字符串
可以使用 Pandas 库中的 `applymap` 方法,将每个元素应用一个函数,实现对所有列的第0行加上字符串的操作。具体代码如下:
```python
import pandas as pd
# 创建一个示例 dataframe
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 对所有列的第0行加上'°'字符串
df = df.applymap(lambda x: str(x) + '°' if df.columns.get_loc(df.columns[0]) == 0 else x)
print(df)
```
输出结果为:
```
A B C
0 1° 4 7
1 2 5 8
2 3 6 9
```
其中,`df.columns.get_loc(df.columns[0])` 返回第0列的索引,如果是第0列,就加上字符串,否则保持不变。
阅读全文