2024-04-27 03:33:17 发布
网友
我正在处理一些杂乱的数据,我正在尝试找出如何将具有相似信息的多个列合并到一个列中。例如,我有一个看起来像这样的数据帧,我想知道如何将所有三列压缩为一列:
国家------州------温度------温度------度
美国——肯塔基州——76美元——76美元——不适用
美国-----亚利桑那-----92\n-----不适用-----不适用
美国——密歇根州——45——45@——60
您可以尝试此操作,然后删除不需要的列:
df['combined'] = df.apply(lambda x: list([x['Temp'], x['Temperature'], x['Degrees']]),axis=1)
如果你想用斜线把它们分开,你也可以这样做
df.apply(lambda x: x.Temp + ' / ' + x.Temperature + ' / ' + x.Degrees, axis=1) # or simply df['combined'] = df.Temp + ' / ' + df.Temperature + ' / ' + df.Degrees
我用NaN的一些数据测试了这个,它对NaN的有用,也许值得一试:
import numpy as np def combine_with_nan(x): try: np.isnan(x.Temp) Temp = 'NaN' except: Temp = x.Temp try: np.isnan(x.Temperature) Temperature = 'NaN' except: Temperature = x.Temperature try: np.isnan(x.Degrees) Degrees = 'NaN' except: Degrees = x.Degrees return Temp + ' / ' + Temperature + ' / ' + Degrees df.apply(combine_with_nan, axis=1)
您可以尝试此操作,然后删除不需要的列:
如果你想用斜线把它们分开,你也可以这样做
我用NaN的一些数据测试了这个,它对NaN的有用,也许值得一试:
相关问题 更多 >
编程相关推荐