我让用户输入两个列表,一个列表的大小为一分钟,它们分别存储在一个列表中。例如,他们可以输入大小:111、121,并在分钟内输入5、10、15。
我想让数据框具有以大小和分钟命名的列。 (我做了一个for循环来提取每个大小和分钟。)例如,我希望各列表示111.5; 111,10; 111; 15,等等。我尝试做df[size+minute]=values
(值是我要输入到每一列的数据),但列名只是加起来的值,所以我得到的列名是116,而不是111 ,5。
答案 0 :(得分:0)
如果您有两个列表:
l = [111,121]
l2 = [5,10,15]
然后,您可以使用列表推导来形成列名:
col_names = [str(x)+';'+str(y) for x in l for y in l2]
print(col_names)
['111;5', '111;10', '111;15', '121;5', '121;10', '121;15']
并使用pandas.DataFrame
使用这些列名称创建一个数据框:
df = pd.DataFrame(columns=col_names)
如果我们添加一行数据:
row = pd.DataFrame([[1,2,3,4,5,6]])
row.columns = col_names
df = df.append(pd.DataFrame(row))
我们可以看到我们的数据框如下所示:
print(df)
111;5 111;10 111;15 121;5 121;10 121;15
0 1 2 3 4 5 6