列表数据框:获取长度大于 1 的值
Dataframe of lists: get the values having length more than 1
假设我有一个这样的数据框:
df = pd.DataFrame(data=np.array([[1],[1,2],[1,2,3],[2]]), columns=['col'])
我最终需要到达下面的子列表:
col
0 [1, 2]
1 [1, 2, 3]
这意味着我需要“获取长度 > 1 的行”或“删除长度 <= 1 的行”。我该怎么做?
您可以使用 .loc
进行过滤并在 'col'
列的 len
gth 上设置条件,然后对结果数据帧使用 reset_index
以忽略旧数据帧的索引:
print(df.loc[df.col.str.len() > 1].reset_index(drop=True))
输出:
col
0 [1, 2]
1 [1, 2, 3]
假设我有一个这样的数据框:
df = pd.DataFrame(data=np.array([[1],[1,2],[1,2,3],[2]]), columns=['col'])
我最终需要到达下面的子列表:
col
0 [1, 2]
1 [1, 2, 3]
这意味着我需要“获取长度 > 1 的行”或“删除长度 <= 1 的行”。我该怎么做?
您可以使用 .loc
进行过滤并在 'col'
列的 len
gth 上设置条件,然后对结果数据帧使用 reset_index
以忽略旧数据帧的索引:
print(df.loc[df.col.str.len() > 1].reset_index(drop=True))
输出:
col
0 [1, 2]
1 [1, 2, 3]