【问题标题】:Extract element by line starting with a specific character从特定字符开始逐行提取元素
【发布时间】:2019-02-19 08:36:56
【问题描述】:
我目前正在研究这个 DataFrame python:
数据集有一列n行。
我想提取特定行的特定组件,例如:
对于以“n”开头的每一行 i,将第 i 行的第二个元素存储在变量 x 中。
或
对于以 'e' 开头的每一行 i,将第 i 行的第二个和第三个元素存储在变量 x 中。
我想知道我可以使用哪个函数/操作来解决这个问题。
【问题讨论】:
标签:
python
pandas
numpy
dataframe
data-cleaning
【解决方案1】:
创建简单示例:
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
您可以只使用第一个字母“a”来调用 raws:
data[data.a.str[0] == 'a']
出局:
a
0 aaaak
2 anhdga
然后你可以得到另一个从'a'开始的原始字母:
data[data.a.str[0] == 'a'].a.str[2]
出局:
0 a
2 h