我是python的新手,想知道是否有一种方法可以使用循环从pandas.dataframe中按列名生成一组列表。 pd.dataframe是通过使用pd.read.excel导入.xlsx文件而生成的,我现在正试图避免花费大量时间编写我认为可能是多余的代码的内容。
举个例子:
import pandas as pd
a=[1,2,3,4]
b=[5,6,7,8]
c=["a","b","c","d"]
df=pd.DataFrame({'b':b,'c':c}, index=a)
关于如何设置和运行循环以获取以下输出的任何想法:
将df中的列b命名为b的单个列表变量 和c
一样而不是使用.tolist()对其进行手动编码?
谢谢!
答案 0 :(得分:1)
您可以遍历列并将其存储到字典中,然后按列名进行访问。
empty_dict = {}
for col in df.columns:
empty_dict[col] = list(df[col])
empty_dict['b']
我假设您想按名称从dataframe列中提取值列表。
答案 1 :(得分:1)
.to_dict()
将数据帧转换为字典。输出类型不同,但是要为每个列创建列表,请使用list
类型。
>>> df.to_dict('list')
{'b': [5, 6, 7, 8], 'c': ['a', 'b', 'c', 'd']}