如何解决从PD数据帧的不同行中提取具有不同列的数据
是否有任何方法可以通过选择不同的列和不同的行从数据框中提取数据。例如,我想要第1-100行的第3列数据和第101-200行的第2列数据。我目前正在使用for循环,但是如果有任何更快的选择,那就太好了。
low_data =[]
up_data = []
for i in range(200):
low = df.iloc[i,2]
up = df.iloc[i,1]
low_data.append(low)
up_data.append(up)
解决方法
根据我对您问题的理解,您希望从第3列中提取第1到100行,还从第2列中提取101-200行。
如果是这种情况,则可以通过(假设所有索引都从0开始)更简单地实现:
low_data = df.iloc[0:100,2] # return rows 0-99 from col 2
up_data = df.iloc[100:200,1] # return rows 100-199 from col 1
您可能会发现文档的“切片范围”部分很有用(大约一半):https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html
,您可以创建索引器:
ix = np.array([np.arange(100),np.arange(100,200)]).T
iy = np.array([[1,2]])
然后是值
df.values[ix,iy]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。