从特定字符开始逐行提取元素

Extract element by line starting with a specific character

我目前正在处理这个 DataFrame python :

数据集有一列和 n 行。

我想提取特定行的特定组件,例如:

对于以 'n' 开头的每一行 i,将第 i 行的第二个元素存储在变量 x 中。

对于以'e'开头的每一行i,将第i行的第二个和第三个元素存储在变量x中。

我想知道我可以使用哪个 function/operation 来解决这个问题。

创建简单示例:

d = pd.DataFrame({'a': ['aaaak', 'k jhs', 'anhdga', 'kjdhs']})

您可以使用 column.str 并查看第一个字母:

data.a.str[0]

输出:

0    a
1    k
2    a
3    k

然后你可以查看这个字母是什么:​​

data.a.str[0] == 'a'

输出:

0     True
1    False
2     True
3    False

只用第一个字母就可以调用raws 'a':

data[data.a.str[0] == 'a']

输出:

        a
0   aaaak
2  anhdga

然后你可以在raws中得到另一个从'a'开始的字母:

data[data.a.str[0] == 'a'].a.str[2]

输出:

0    a
2    h