簡體   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