serier to tolist()在附加python时将元素放在方括号中



当我将series对象转换为list并将每个元素附加到一个新列表时,元素会添加额外的方括号。

有人能帮助我如何删除括号或在不为每个元素添加额外括号的情况下添加吗

import pandas as pd
df = pd.DataFrame({'col1':[10,20,30],'col2':[40,50,60]})
print(df.head())
df_fd = pd.DataFrame({'variable':['col1','col1','col1','col2','col2','col2'],'Value':[10,20,30,40,50,60],'ratio':[0.1,0.2,0.3,0.4,0.5,0.6]})
print(df_fd)
df_new = pd.DataFrame()
print(df.head())
for col in df.columns:
ratio_list = []
print('Columns:',col)
for val in df[col].unique():
print('Instance:',val)
print('Ratio value:',(df_fd.loc[(df_fd['variable'] == col) & (df_fd['Value'] == val)]['ratio']))
ratio = df_fd.loc[(df_fd['variable'] == col) & (df_fd['Value'] == val)]['ratio']
ratio = list(ratio)
print('ratio:',ratio)
ratio_list.append(ratio)
print(ratio_list)
df_new['ratio'] = ratio_list    
df_new.rename(columns={"ratio":"Ratio_"+col},inplace=True)
print(df_new.head())
df = pd.concat([df,df_new],axis=1)
print(df.head())
I get output something like this :
[[0.1], [0.2], [0.3]] 
col1  col2 Ratio_col1 Ratio_col2
0    10    40      [0.1]      [0.4]
1    20    50      [0.2]      [0.5]
2    30    60      [0.3]      [0.6]
ratio = df_fd.loc[(df_fd['variable'] == col) & (df_fd['Value'] == val)]['ratio'].values[0]

删除

  • 比率=列表(比率(

最新更新