对dataframe除第一列之外的每一列的第1行加上’°‘字符串
时间: 2024-03-05 18:50:23 浏览: 23
可以使用 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 库中的 `apply` 方法,对每一列执行自定义函数,实现对所有列的第0行加上字符串的操作。具体代码如下:
```python
import pandas as pd
# 创建一个示例 dataframe
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 自定义函数,对第0行加上'°'字符串
def add_degree(x):
if x.name == df.columns[0]:
return x.astype(str) + '°'
else:
return x
# 对所有列的第0行加上'°'字符串
df = df.apply(add_degree)
print(df)
```
输出结果为:
```
A B C
0 1° 4 7
1 2 5 8
2 3 6 9
```
其中,`x.name` 返回当前列的列名,如果是第0列,就将该列转化为字符串类型并加上字符串,否则保持不变。