[英]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.