import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('G:\A5204990500002023050006\一级卡6228480269035098277.xlsx',index_col=0) print(df) print(df.iloc[:,2]) first_card = '6212250200006032450' print(first_card) level_cards = pd.DataFrame({'卡级':[],'账号':[]}) print(level_cards) for first_cards in df.iloc[:,2]: if first_cards == first_card: level_cards['卡级'] = first_card print(level_cards)
时间: 2024-03-18 08:40:04 浏览: 33
根据您提供的代码,我看到您想要根据`df`中第3列的值是否等于`first_card`来筛选数据,并将筛选结果存储在`level_cards`中。
然而,您的代码有一些问题,其中:
1. `level_cards`中的`'卡级'`列和`'账号'`列都没有添加任何值,因此您无法通过`level_cards['卡级'] = first_card`这样的语句来给`'卡级'`列添加值。如果您想要添加值,可以采用我之前回答的方法。
2. 在您的`for`循环中,每次循环都是将`first_card`赋值给`level_cards['卡级']`,这样会导致`level_cards`中的`'卡级'`列只有一个值,即`first_card`。如果您想要将符合条件的`'卡级'`和`'账号'`添加到`level_cards`中,可以使用以下代码:
```
import pandas as pd
pd.set_option('display.unicode.east_asian_width', True)
df = pd.read_excel('G:\A5204990500002023050006\一级卡6228480269035098277.xlsx', index_col=0)
print(df)
first_card = '6212250200006032450'
level_cards = pd.DataFrame({'卡级': [], '账号': []})
for index, row in df.iterrows():
if row[2] == first_card:
level_cards = level_cards.append({'卡级': row[1], '账号': row[2]}, ignore_index=True)
print(level_cards)
```
这段代码中,使用了`df.iterrows()`方法来遍历`df`中的每一行数据,然后判断第3列的值是否等于`first_card`,如果是,则将符合条件的`'卡级'`和`'账号'`添加到`level_cards`中。注意,这里使用了`level_cards.append()`方法来添加数据,而不是直接赋值。