簡體   English   中英

使用 pandas 獲取子數據幀中的行索引

[英]Get index of row within a sub-DataFrame with pandas apply

這個問題與這個問題相關但不同,它想知道如何從應用程序中訪問行索引。 這可以通過row.name來完成。 但是,在我的情況下,我應用 function 來query 'd dataframe,並且行的name只是它們在原始df 中的索引。 對於查詢的 DataFrame,我需要它們從零開始。

import pandas as pd


def print_name(r):
    print(r.name)

data = {"seg": [1, 1, 1, 2, 2, 2], "text": ["i", "like", "you", "do", "you", "see"]}
df = pd.DataFrame(data=data)
sub = df.query("seg==2")
sub.apply(print_name, axis=1)
# 3
# 4
# 5
# Expected 0, 1, 2

我想你想要默認索引,因為過濾的行有原始索引,沒有變化:

sub = df.query("seg==2").reset_index(drop=True)

print (df.query("seg==2"))
   seg text
3    2   do
4    2  you
5    2  see

print (df.query("seg==2").reset_index(drop=True))
   seg text
0    2   do
1    2  you
2    2  see

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM