Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用globals创建新的数据帧_Python_Python 3.x_Pandas_List_Dataframe - Fatal编程技术网

Python 使用globals创建新的数据帧

Python 使用globals创建新的数据帧,python,python-3.x,pandas,list,dataframe,Python,Python 3.x,Pandas,List,Dataframe,如何为下面列表中的每个项目创建第一个差异数据帧?代码必须是通用的。 我试过: 就快到了,只需再次使用globals访问数据帧,并使用格式化字符串命名修改后的数据帧: Expected Output: price_first_diff price_first_diff 2010-01-04 2010-01-04 89.33 ... 您还可以尝试使用dict CONTRUMENT创建新的数据帧,然后更新globals: listxx = ["pr

如何为下面列表中的每个项目创建第一个差异数据帧?代码必须是通用的。 我试过:


就快到了,只需再次使用
globals
访问数据帧,并使用格式化字符串命名修改后的数据帧:

Expected Output:
price_first_diff 

             price_first_diff 
2010-01-04  
2010-01-04  89.33
...

您还可以尝试使用dict CONTRUMENT创建新的数据帧,然后更新
globals

listxx  = ["price"]
for x in listxx:
      globals().update({f'{x}_first_diff':globals()[x].diff().fillna('')})

price_first_diff
#              price
#date               
#2010-01-04         
#2010-01-04  89.3272
#2010-01-04  229.779
#2010-01-04 -340.599
#2010-01-04    -0.63

我似乎遇到了以下错误:TypeError:不支持的操作数类型-:'str'和'str'价格列似乎是字符串类型,请尝试使用
astype(float)
谢谢。有没有办法用“first difference volume”或同一行中的某个东西来命名第一个差异数据帧的列?当前的列名是volumeNo,我错了,不要在名称中使用空格命名变量@arv最好使用“u”作为原始字符,或类似的字符。
Expected Output:
price_first_diff 

             price_first_diff 
2010-01-04  
2010-01-04  89.33
...
listxx  = ["price"]
for x in listxx:
      globals().update({f'{x}_first_diff':globals()[x].diff().fillna('')})

price_first_diff
#              price
#date               
#2010-01-04         
#2010-01-04  89.3272
#2010-01-04  229.779
#2010-01-04 -340.599
#2010-01-04    -0.63
listxx  = ["price"]
dc={f'{x}_first_diff' :globals()[x].diff().fillna('') for x in listxx}
globals().update(dc)