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)