使用Pandas提取列数据时循环重复输出17次问题求助
问题出在这两个地方
- 循环逻辑完全错了:
for var in file[1:]其实是在遍历行切片后DataFrame的所有列名,你的CSV有18列(所以循环跑了17次),每次循环都把整个第10列的所有数据(一个Pandas Series)添加到列表里,结果自然就是同一个列数据重复17次出现在列表中。 - 完全没必要写循环:Pandas提取列转成Python列表有直接的方法,根本不需要手动循环添加。
修正后的代码
如果要把第10列(iloc索引从0开始,所以这是第11列)的所有数据转成列表,直接这么写:
import pandas as pd file = pd.read_csv(r"file location") age_groups_list = file.iloc[:, 10].tolist() print(age_groups_list)
补充:如果只需要从第2行开始的数据
要是你本来想提取第10列里从第2行(索引1)开始的内容,就改成:
age_groups_list = file.iloc[1:, 10].tolist()
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

