我有一個自定義函式,可以根據方程式生成一個新列,但是col3在運行該函式并列印出資料框后我看不到。
如何將新列保存為熊貓資料框?
這是我到目前為止所做的:
#Import modules
import pandas as pd
import numpy as np
#Define the custom function
def example(a, b, c):
"""
Example function, generates a new column based on user inputs
"""
#Generate input dataframe
d = {
'col1': [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
'col2': [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
}
dataframe = pd.DataFrame(data=d)
#Create a new column based on an equation
dataframe['col3'] = dataframe['col1'] * a * b * c
return dataframe
呼叫函式...
example(2, 4, 6)
...給出這個輸出:
col1 col2 col3
0 1 1 48
1 1 2 48
2 1 3 48
3 1 4 48
4 1 5 48
5 1 6 48
6 1 7 48
7 1 8 48
8 1 9 48
9 1 10 48
10 1 11 48
11 1 12 48
12 1 13 48
13 1 14 48
14 1 15 48
15 1 16 48
16 1 17 48
17 1 18 48
18 1 19 48
19 1 20 48
但是,列印資料框顯示該列尚未添加:
dataframe
生成錯誤訊息:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Input In [4], in <cell line: 1>()
----> 1 dataframe
NameError: name 'dataframe' is not defined
我該如何解決這個問題,以便將col3其附加到原始資料框中?
uj5u.com熱心網友回復:
你需要像這樣保存它。您的功能運行良好:
df = example(2, 4, 6)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/456066.html
