繁体   English   中英

如何将动态生成的熊猫数据框保存为列值作为.csv文件

[英]How to save pandas dataframe generated dynmically as column values as .csv file

我有一个pandas数据框,并且它有一个带有值的Id列标题,现在我想使用下划线和预定义常数的索引长度来生成新的列值,该常数将随着索引的增加而增加。 例如,如果有3个索引。 该值应为1_1、1_2和2_1,依此类推。

dfm = pd.DataFrame({'Id' : [4,9,7,8,3,1]})
l=len(dfm.index)
def gen(l):
  lst=[]
  for i in range(1,l+1):
    for j in range(1,7):
      z="{}{}{}".format(i,'_', j)
      lst.append((z))
  return lst

>>> k=gen(l)
>>> k
['1_1', '1_2', '1_3', '1_4', '1_5', '1_6', '2_1', '2_2', '2_3', '2_4', '2_5', '2_6', '3_1', '3_2', '3_3', '3_4', '3_5', '3_6', '4_1', '4_2', '4_3', '4_4', '4_5', '4_6', '5_1', '5_2', '5_3', '5_4', '5_5', '5_6', '6_1', '6_2', '6_3', '6_4', '6_5', '6_6']
results ="d:\\Id.csv"
gf = pd.DataFrame({'Id' : [gen(l)]})
gf.to_csv(results, index=False)  

上面的代码导致将结果另存为Id标头,但将值水平而非垂直保存为列值。 并保存为'1_1'...,'2_1',依此类推。 我想在上面将k保存为下面的结果而不用引号

result
      Id
      1_1
      1_2
      1_3
      1_4
      ...
      2_1

这为我解决了问题:

gf = pd.DataFrame({'Id' : gen(l)})  
gf.to_csv(results, index=False)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM