dataframe,遍历每一列,如果列名称的最后两个字符是“06”或者“03”,那么生成新的一列date并赋值为“06”或者“03;
时间: 2023-10-14 16:04:24 浏览: 87
对pandas将dataframe中某列按照条件赋值的实例讲解
与前面的问题类似,可以使用pandas中的DataFrame.columns属性来获取DataFrame对象的列名,然后遍历每一列的名称,检查名称的最后两个字符是否为“06”或者“03”,如果是,则创建一个新的列名为“date”,并将其所有行的值赋为对应的值。
下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例DataFrame
df = pd.DataFrame({'A06': [1, 2, 3], 'B03': [4, 5, 6], 'C08': [7, 8, 9]})
# 遍历每一列的名称
for col_name in df.columns:
if col_name[-2:] == '06':
# 如果名称最后两个字符是'06',则创建一个新的列'date',并将其所有行的值赋为'06'
df['date'] = '06'
elif col_name[-2:] == '03':
# 如果名称最后两个字符是'03',则创建一个新的列'date',并将其所有行的值赋为'03'
df['date'] = '03'
# 打印输出新的DataFrame
print(df)
```
输出结果为:
```
A06 B03 C08 date
0 1 4 7 03
1 2 5 8 03
2 3 6 9 03
```
需要注意的是,这个示例代码中如果存在多个列名称最后两个字符都是“06”或者“03”的列,则新的一列“date”只会赋上最后一次出现的值。如果需要实现每个列名称都有对应的“date”列,可以考虑在循环中使用条件语句来为不同的列创建不同名称的“date”列。
阅读全文