我有一个数据帧名映射值,其中包含列表。
映射值
1,2,3,4
1,2,3,4,5
1,2
预期产出:
4.
5
2,我正在尝试打印最大值并将其放入新列中。
df['new column'] = df['mapped value'].max()
但是它给了我一个错误ValueError: max() arg是一个空序列,知道我哪里出错了吗?
在这里输入链接描述
以下是我的数据: 1:https://github.com/mayuripandey/Data-Analysis/blob/main/filse.csv
发布于 2022-07-04 10:41:13
问题是有一些空列表,可能的解决办法是使用lambda函子和if-else
。
df = pd.DataFrame({'mapped value':[[1,2,3,4],[1,2,3,4,5],[1,2],[]]})
df['new column'] = df['mapped value'].apply(lambda x: max(x) if bool(x) else np.nan)
print (df)
mapped value new column
0 [1, 2, 3, 4] 4.0
1 [1, 2, 3, 4, 5] 5.0
2 [1, 2] 2.0
3 [] NaN
https://stackoverflow.com/questions/72855408
复制相似问题