如何从 Pandas 数据框列广播文本字符串的子集

我试图从存储在数据框列中的凌乱文本字符串中提取年份和降雨量值,并将它们保存到新列中。在使用不同的切片方法进行测试失败后,我通过列表推导完成了它。列表理解是提取字符串子集进行广播的最佳方法吗?


非常感谢大家!


df = pd.DataFrame(['   1883   1    6.3     1.7       6   122.1     ---',

               '   1883   2    8.0     2.8       2    69.8     ---',

               '   1883   3    4.8    -1.6      23    29.6     ---',])

df['split'] = df[0].str.split()

df['year'] = [df['split'][i][0] for i in df.index]

df['rainfall'] = [float(df['split'][i][5]) for i in df.index]


慕森王
浏览 148回答 1
1回答

慕的地10843

df['split'] = df[0].str.split()df['year']=df['split'].map(lambda x:x[0])df['rainfall']=df['split'].map(lambda x:x[5])df=df[['year','rainfall']]df       year rainfall    0  1883    122.1    1  1883     69.8    2  1883     29.6
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python