我有一个数据框,其中包含3列(['A','B','C]
)和3行。
我们使用一个for循环根据B列中的特定条件从上述数据帧中获取值(存储到变量中)。
此外,我们使用列表来存储变量中存在的值。
这里的问题是在检查列表值时,我们正在获取变量值,其类型。
我不确定为什么会这样。列表仅应包含变量值。
请任何人都可以帮助我们获得理想的解决方案。
谢谢, 布万
dataframe: columns-A,B,C rows value- a to i :df = ([a,b,c][d,b,f][g,b,i]).
list_1=[]
for i in range(0,9):
variable_1=df['A'][df.B == 'b']
list_1.append(variable_1)
print(list_1):
理想的输出:['a','d','g']
当我们获得输出为
['a type: object','d type: object','g type: object']
。
答案 0 :(得分:0)
您可以像这样获得理想的输出:
import pandas as pd
df = pd.DataFrame({'A': ['a', 'd', 'g'], 'B': ['b', 'b', 'b'], 'C': ['c', 'f', 'i']})
list_1 = list(df[df['B'] == 'b']['A'].values) # <- this line
print(list_1)
> ['a', 'd', 'g']
您只需要:
1)通过“ B”列df[df['B'] == 'b']
过滤数据框
2),然后才将结果列“ A”的值转换为列表