我使用熊猫,并且我有数据,数据看起来像这样
FirstName LastName StudentID
FirstName2 LastName2 StudentID2
然后我使用str.split()在'space'的基础上进行拆分
所以数据在DataFrame中看起来像这样
[[FirstName, LastName, StudentID],
[FirstName2, LastName2, StudentID2]]
如何仅获取每个学生的StudentID并将其保存在新列中?任何帮助都是很大的帮助。谢谢。
答案 0 :(得分:1)
使用列表推导来获取每个拆分字符串的最后一个元素:
ids = [val[-1] for val in your_string.split()]
答案 1 :(得分:1)
您可以执行以下操作:
import pandas as pd
data = ['FirstName LastName StudentID',
'FirstName2 LastName2 StudentID2']
df = pd.DataFrame(data=data, columns=['text'])
df['id'] = df.text.apply(lambda x: x.split()[-1])
print(df)
输出
text id
0 FirstName LastName StudentID StudentID
1 FirstName2 LastName2 StudentID2 StudentID2
或者,作为替代:
df['id'] = [x.split()[-1] for x in df.text]
print(df)
输出
text id
0 FirstName LastName StudentID StudentID
1 FirstName2 LastName2 StudentID2 StudentID2
答案 2 :(得分:1)
使用数据框构造器
pd.DataFrame(df.text.str.split(' ').tolist()).iloc[:,0]
Out[15]:
0 FirstName
1 FirstName2
Name: 0, dtype: object
答案 3 :(得分:1)
尝试以下解决方案:
item["x"]["y"].split(' ')[-1]
答案 4 :(得分:0)
为什么不尝试简单的列表理解
students = [
["FirstName", "LastName", "StudentID"],
["FirstName2", "LastName2", "StudentID2"]
]
print([student[2] for student in students])
将打印
['StudentID', 'StudentID2']