2024-09-19 23:39:54 发布
网友
我有一个名为ReturnDateRange的函数,它将返回两个日期。 我试图将此函数应用于dataFrame中名为“zRow”的列,并将结果存储在两个不同的列中。在
下面将以元组的形式将两个结果存储在一列中:
df['t1']= df['zRow'].map(ReturnDateRange)
以下返回值错误:太多的值无法解压缩(应为2)
但是函数总是返回两个日期,或者一个None。在
更新:我尝试返回两个0而不是一个。还是有同样的错误。在
谢谢你的帮助。在
“太多值无法解包”错误是因为它解包的是行,而不是列。因此,转置会有所帮助,但我觉得有更好的方法来解决这个问题。在
同时,这工作,如果不是很优雅。。。在
import pandas as pd import numpy as np data = pd.DataFrame(np.zeros(shape=(5,2)),columns=["a","b"]) def mapper(x): return ('first', 'second') data['t1'], data['t2'] = data['b'].map(mapper).apply(pd.Series).values.T print data
给出这个结果:
这至少可以帮助其他人找到更好的解决方案。在
这也归功于this贴在这里。在
编辑,找到了更好的解决方法。使用:
所以,在你的情况下,这应该是有效的:
df[['t1', 't2']] = df['zRow'].map(ReturnDateRange).apply(pd.Series)
“太多值无法解包”错误是因为它解包的是行,而不是列。因此,转置会有所帮助,但我觉得有更好的方法来解决这个问题。在
同时,这工作,如果不是很优雅。。。在
给出这个结果:
^{pr2}$这至少可以帮助其他人找到更好的解决方案。在
这也归功于this贴在这里。在
编辑,找到了更好的解决方法。使用:
^{3}$所以,在你的情况下,这应该是有效的:
相关问题 更多 >
编程相关推荐