lqssssu 发表于 2020-12-14 17:50

python的一些问题~

hello 各位大哥我又来了,感谢昨天几位大哥提供的思路,我改进了一些代码。

但是我想将rho提取的角度值转换成弧度值,但是一个列表又用不了 math.radians()


def OTA_CH0(file):                                 
    CH0 = pd.read_excel(file, sheet_name="CH0")      
    theta = CH0['Azimuth'].values                  
    rho = CH0['Elevation'].tolist()                  
    total = CH0['Total'].values                     
                                                   
    rho = math.radians(rho[:])                     
    # theta                                          
    theta_0 = theta[:12]                           
    theta_30 = theta                        
    theta_60 = theta                        
    theta_90 = theta                        
    theta_120 = theta                        
    theta_150 = theta                        
                                                   
    # rho                                          
    rho_0 = rho[:12]                                 
    rho_30 = rho                              
    rho_60 = rho                              
    rho_90 = rho                              
    rho_120 = rho                           
    rho_150 = rho                           
    print(rho_0)                                    
    # total                                          
    total_0 = total[:12]                           
    total_30 = total                        
    total_60 = total                        
    total_90 = total                        
    total_120 = total                        
    total_150 = total                        
’‘‘
这是matlab的程序
figure %生成图片框
ax = polaraxes;
title('Bluetooth CH0 ');
ax.ThetaZeroLocation = 'top'; %0°朝上
rlim([-20,10]); %最值

hold on %开始画图
polarplot(rho_1_0,totle_1_0,'-o'); %第一条
polarplot(rho_1_30,totle_1_30,'-o'); %第二条
polarplot(rho_1_60,totle_1_60,'-o'); %第三条
polarplot(rho_1_90,totle_1_90,'-o'); %第四条
polarplot(rho_1_120,totle_1_120,'-o'); %第五条
polarplot(rho_1_150,totle_1_150,'-o'); %第六条
hold off

% rho_3_150 = deg2rad(rho_3(61:72)); 角度值
% totle_3_150 = totle_3(61:72);值
’‘’                                                   
                                                   
                                                   
                                                   

lijt16 发表于 2020-12-14 19:09

列表里for遍历不就行?

167023ab 发表于 2020-12-14 19:51

你这个感觉复杂了点,可以简化一下,提高程序的运行效率

the_stars 发表于 2020-12-14 20:18

rho = list(map(math.radians, rho))

the_stars 发表于 2020-12-14 20:37

the_stars 发表于 2020-12-14 20:18


我以为那个rho是列表用了map. 然后看了一下你前面的才发现是DataFrame
那可以这样.rho = rho.applymap(math.radians)
应该有其他执行效率更高的方法. 不过我df不熟悉.

lqssssu 发表于 2020-12-14 21:23

167023ab 发表于 2020-12-14 19:51
你这个感觉复杂了点,可以简化一下,提高程序的运行效率

是啊,太多重复的了,先把功能写出来,后期维护{:1_907:}

wanshiz 发表于 2020-12-15 07:03

也在看Python。进来学学各位大佬的好经验。谢谢楼主发帖。
页: [1]
查看完整版本: python的一些问题~