【问题标题】:choosing the last element of a column composed by list of elements pandas选择由元素列表组成的列的最后一个元素 pandas
【发布时间】:2021-08-12 20:52:38
【问题描述】:

我有一个这样的熊猫数据框:

 df = pd.DataFrame([
    (142, [1,2]),
    (144, 3),
    (144, 1),
    (142, 1),
    (142, [1,3]),
    (144, [1,5]),
    (142, 2)
], columns=['ID', 'Column_1'])

如您所见,Column_1 是由单个元素和元素列表组成的列。

我的目标是创建一个新列,其中包含Column_1 是一个列表的最后一个元素,而单个值只是一个值,如下所示:

 df = pd.DataFrame([
    (142, [1,2] ,2),
    (144, 3 ,3),
    (144, 1 ,1),
    (142, 1 ,1),
    (142, [1,3] , 3),
    (144, [1,5] , 5),
    (142, 2)
], columns=['ID', 'Column_1' , 'new_column'])

谁能帮我解决这个问题?

【问题讨论】:

标签: python python-3.x pandas list dataframe


【解决方案1】:

让我们试试str 切片然后fillna,还要注意这里的最后一行应该是 2

df['new'] = df['Column_1'].str[-1].fillna(df.Column_1)
df
Out[118]: 
    ID Column_1  new_column  new
0  142   [1, 2]         2.0  2.0
1  144        3         3.0  3.0
2  144        1         1.0  1.0
3  142        1         1.0  1.0
4  142   [1, 3]         3.0  3.0
5  144   [1, 5]         5.0  5.0
6  142        2         NaN  2.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 2021-04-03
    • 1970-01-01
    • 2021-11-22
    • 2017-11-28
    • 1970-01-01
    • 2010-11-13
    相关资源
    最近更新 更多