達(dá)令說(shuō)
2022-05-24 16:00:41
我有帶有“Indicator_Name”字段的數(shù)據(jù)框,其中包含一些文本,我正在應(yīng)用一些返回 2 個(gè)值并需要在數(shù)據(jù)框中更新相同值的函數(shù)函數(shù)“String_Year_Pick_V2”返回兩個(gè)值,如“XYZ”、“ABC”,需要針對(duì)每個(gè)“Indicator_Name”添加這些值我試過(guò)下面的腳本:DataT[['Indicator 2', 'Year']] = DataT['Indicator_Name'].apply(String_Year_Pick_V2, axis=1)Error:TypeError: String_Year_Pick_V2() got an unexpected keyword argument 'axis'DataT[['Indicator 2', 'Year']] = DataT['Indicator_Name'].apply(String_Year_Pick_V2)Error: ValueError: shape mismatch: value array of shape (252,) could not be broadcast to indexing result of shape (2,252腳本:DataT['Indicator_Name'].apply(String_Year_Pick_V2) - 給出結(jié)果DataT[['Indicator 2', 'Year']] = DataT.apply(lambda Row: String_Year_Pick_V2(Row['Indicator_Name']), axis=1)Error: ValueError: shape mismatch: value array of shape (252,) could not be broadcast to indexing result of shape (2,252)
1 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以Series在函數(shù)的輸出中創(chuàng)建:
def String_Year_Pick_V2(x):
#your code
year = x + 2000
ind = x + 10
return pd.Series([ind, year])
DataT = pd.DataFrame({'Indicator_Name':[1,2,3]})
DataT[['Indicator 2', 'Year']] = DataT['Indicator_Name'].apply(String_Year_Pick_V2)
print (DataT)
Indicator_Name Indicator 2 Year
0 1 11 2001
1 2 12 2002
2 3 13 2003
添加回答
舉報(bào)
0/150
提交
取消