繁体   English   中英

如何在 Pandas 中创建索引列名和循环?

[英]How to create indexed column names and in a loop in Pandas?

我正在尝试为我的数据框(df)制作列名,例如

>> 'Frequency','molecule1','molecule2',.....'molecule18' 

并将“频率”设为索引 但是,我的代码不起作用。 代码中已经设置了变量 min、max 和 columnNum 我应该如何修复它?

df=pd.DataFrame({'Frequency': np.arange(min,max+1)}, 
   columns=['Frequency','molecule{}'.format(x+1) for x in range(int(columnNum/2))]])
df.set_index('Frequency', inplace=True)

您需要为分子创建一个空数据集,并且可以单独创建索引:

import pandas as pd
import numpy as np

my_min = 10
my_max = 15
ncols = 5

frequency = pd.Series(np.arange(my_min, my_max+1), name="frequency")
nrows = len(frequency)

data = np.full(shape=(nrows, ncols), fill_value=np.nan)
df = (pd.DataFrame(data, index=frequency)
      .rename(columns=lambda col: col+1)   # columns are currently 0, 1, 2... increase them all by 1 to become 1, 2, 3...
      .add_prefix("Molecule")              # add "Molecule" to the beginning of each column name

print(df)
           Molecule1  Molecule2  Molecule3  Molecule4  Molecule5
frequency                                                       
10               NaN        NaN        NaN        NaN        NaN
11               NaN        NaN        NaN        NaN        NaN
12               NaN        NaN        NaN        NaN        NaN
13               NaN        NaN        NaN        NaN        NaN
14               NaN        NaN        NaN        NaN        NaN
15               NaN        NaN        NaN        NaN        NaN

暂无
暂无

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

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