给予
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
,它返回一个map对象。
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'
您甚至可以使用IterTools中的islice
获取片。
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'