在函数中工作时,我很难理解为什么有时候我可以修改数据帧值,有时候我不能修改数据帧值。例如,变量赋值没有return语句,但pd.get_dummies似乎需要我在函数末尾使用return语句。
Select 'test'
union
Select 'test2'
import numpy as np
import pandas as pd
data = {
'x' : np.linspace(0,10,3) ,
'y' : np.linspace(10,20,3) ,
'cat1' : ['dog','cat','fish'] ,
'cat2' : ['website1','website1','website2'] }
df = pd.DataFrame(data)
cat1 cat2 x y
0 dog website1 0.0 10.0
1 cat website1 5.0 15.0
2 fish website2 10.020.0
def change_variable(df):
df['x'] = 999
def ready_for_ml(df):
pd.get_dummies(df,columns=['cat1','cat2'])
我已经阅读过使用inplace变换作为解决方案。 How to modify a pandas DataFrame in a function so that changes are seen by the caller?但是,我pd.get_dummies似乎没有一个inplace参数。所以,我对这个功能感到好奇,但更广泛地说是潜在的行为。
感谢您的时间。