python - 使用系列中的索引获取第一个值
问题描述
给定
import pandas as pd
df = pd.DataFrame({'lowercase':['a','b','c','d']},
index=[0,1,3,4])
# print(df)
print(df['lowercase'].iat[0])
我可以得到'a'
,但我想获取第一个索引(即0
)并'a'
作为两个值返回,我该怎么办?
解决方案
您可以使用df.itertuples
which 返回地图对象。
def get_item(idx):
it = df.itertuples()
while idx:
next(it)
idx = idx-1
return next(it)
a,b = get_item(0)
# a = 0 , b = 'a'
c,d = get _item(1)
# c = 1, d = 'b'
您甚至可以使用islice
itertools 获取切片。
def get_item(start,end=None):
it = df.itertuples()
if end is None:
while idx:
next(it)
idx = idx-1
return next(it)
return list(map(tuple,islice(it,start,end)))
get_item(1, 4)
# [(1, 'b'), (3, 'c'), (4, 'd')]
如果你只想要第一个值
a,b = next(df.itertuples())
# a = 0, b = 'a'
推荐阅读
- php - php按id查看照片
- c++ - 如何解决两个相互引用的c++头文件的问题?
- python - 在 pandas 中按组插入到新的 x 轴
- sql-server - 如何在SQL中的spearte结果集中获取表中所有列的不同数据
- javascript - 如何在预请求脚本中验证 POST 请求正文所需的参数?
- c++ - 如何解决此访问冲突写入位置?
- performance - 运行 Go 基准测试的正确输出
- android - Android 更改文本 ExoPlayer 默认接收器
- javascript - 使用自定义组件创建包
- javascript - redash GET 请求适用于 POSTMAN,但不适用于 axios