python - 在 Pandas 列中输入列表值
问题描述
给定如下列表:
l = [['43.195', '-22.17', '-43.17', '-22.198', '-43.198', '22.197'], ['43.196', '-22.14', '-43.179', '-22.188', '-43.188', '22.192']]
我需要将此列表中的值添加到数据框的两个单独列中。示例: l 的子列表索引甚至(l [0] [0], l [0] [2], l [1] [0], etc.)
进入LATITUDE
列的值;l 的子列表索引为奇数的值(l [0] [1], l [0] [3], l [1] [1], etc.)
,转到该LONGITUDE
列。数据框已经存在,但LATITUDE
和LONGITUDE
列不存在。
我正在尝试以下方法,但未成功:
d = pd.DataFrame()
i = 0
j = 0
if i < len(l):
if j < len(l[i]) and j%2==0:
d['LATITUDE'] = ', '.join(map(str, l[i][j]))
j += 1
elif j < len(l[i]) and j%2!=0:
d['LONGITUDE'] = ', '.join(map(str, l[i][j]))
j+=1
i += 1
d
注意:每个子列表对应一个 Dataframe 实例。
预期输出:
LATITUDE | LONGITUDE
'-43.195', '-43.17', -43.198 | '-22.17', '-22.198', '-22.197'
'-43.196', '-43.179', -43.192 | '-22.14', '-22.188', '-22.192'
解决方案
这将使用reshape
pd.concat([pd.Series([x[::2],x[1::2]]).str.join(sep=',') for x in l],1).T
Out[280]:
0 1
0 43.195,-43.17,-43.198 -22.17,-22.198,22.197
1 43.196,-43.179,-43.188 -22.14,-22.188,22.192
推荐阅读
- pine-script - 绘制自定义数据 - 每日 = 正常,每周 = 不正常
- python - 使用下拉小部件,从一列中选择值,从数据框中的另一列返回值
- tensorflow - TypeError:“int”对象不可下标(imblearn 生成器)
- dataframe - Pyspark 获取每天的最后一个日期时间
- webrtc - 第二个 RTCPeerConnection 卡在“正在连接”状态,而第一个连接成功连接
- android - bindCameraUseCases() 的回调
- javascript - 有没有办法在没有机器人的情况下在 node.js 中接收电报消息?
- sql-server - SSMS 18 和 VS Community 2019 未识别 SSIS 已安装
- google-cloud-platform - Google Cloud Platform 上的 API 管理
- java - 从邻接列表中删除边缘