我有一个由其他代码段生成的pandas数据框-每次生成时,该数据框的列数都可能不同:让我们将它们称为col1,col2,...,coln
,其中n不固定。请注意,col1,col2,...只是占位符,列的实际名称可以是任意的,例如TimeStamp或PrevState。
由此,我想将每列转换为一个列表,列表名称与该列相同。因此,我想要一个名为col1
的列表,并在数据框的第一列中添加条目,依此类推,直到coln
。
我该怎么做?
谢谢
答案 0 :(得分:1)
不是recommended,最好是创建字典:
d = df.to_dict('list')
然后从列名称中按字典键选择列表:
print (d['col'])
示例:
df = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
})
d = df.to_dict('list')
print (d)
{'A': ['a', 'b', 'c', 'd', 'e', 'f'], 'B': [4, 5, 4, 5, 5, 4], 'C': [7, 8, 9, 4, 2, 3]}
print (d['A'])
['a', 'b', 'c', 'd', 'e', 'f']
答案 1 :(得分:-1)
import pandas as pd
df = pd.DataFrame()
df["col1"] = [1,2,3,4,5]
df["colTWO"] = [6,7,8,9,10]
for col_name in df.columns:
exec(col_name + " = " + df[col_name].values.__repr__())