Python 从多数据帧字典中提取数据帧

Python 从多数据帧字典中提取数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个字典,其中包含大量的数据帧。我想从中提取所有数据帧,并将这些值存储到单个数据帧中。词典如图所示: wwwwww = pd.DataFrame.from_dict(res, orient='index') data2 = pd.DataFrame(res, index =[0]) import pandas as pd import mysql.connector from nsepy import get_history from datetime import date stoc

我有一个字典,其中包含大量的数据帧。我想从中提取所有数据帧,并将这些值存储到单个数据帧中。词典如图所示:

wwwwww = pd.DataFrame.from_dict(res, orient='index')
data2 = pd.DataFrame(res, index =[0])
import pandas as pd
import mysql.connector 
from nsepy import get_history
from datetime import date
stock =['3MINDIA','ABB','POWERINDIA','ACC','AIAENG'] //There are many values but I am including lesser values
res = dict(zip(stock,stock))
start = date (2019, 12, 1)
end = date (2020, 12, 10)

for stock_name in stock:
     data = get_history(symbol=stock_name['close'], start=start, end=end)
     res[stock_name]=data

data2 = pd.DataFrame([res], index =[0])


wwwwww = pd.DataFrame.from_dict(res, orient='index')

字典中存储的许多数据帧之一如下所示:

wwwwww = pd.DataFrame.from_dict(res, orient='index')
data2 = pd.DataFrame(res, index =[0])
import pandas as pd
import mysql.connector 
from nsepy import get_history
from datetime import date
stock =['3MINDIA','ABB','POWERINDIA','ACC','AIAENG'] //There are many values but I am including lesser values
res = dict(zip(stock,stock))
start = date (2019, 12, 1)
end = date (2020, 12, 10)

for stock_name in stock:
     data = get_history(symbol=stock_name['close'], start=start, end=end)
     res[stock_name]=data

data2 = pd.DataFrame([res], index =[0])


wwwwww = pd.DataFrame.from_dict(res, orient='index')

我已尝试使用“pd.DataFrame.from_dict”方法,如下所示:

wwwwww = pd.DataFrame.from_dict(res, orient='index')
data2 = pd.DataFrame(res, index =[0])
import pandas as pd
import mysql.connector 
from nsepy import get_history
from datetime import date
stock =['3MINDIA','ABB','POWERINDIA','ACC','AIAENG'] //There are many values but I am including lesser values
res = dict(zip(stock,stock))
start = date (2019, 12, 1)
end = date (2020, 12, 10)

for stock_name in stock:
     data = get_history(symbol=stock_name['close'], start=start, end=end)
     res[stock_name]=data

data2 = pd.DataFrame([res], index =[0])


wwwwww = pd.DataFrame.from_dict(res, orient='index')
但呈现给我的输出是乱码或不推荐的,如图所示:

wwwwww = pd.DataFrame.from_dict(res, orient='index')
data2 = pd.DataFrame(res, index =[0])
import pandas as pd
import mysql.connector 
from nsepy import get_history
from datetime import date
stock =['3MINDIA','ABB','POWERINDIA','ACC','AIAENG'] //There are many values but I am including lesser values
res = dict(zip(stock,stock))
start = date (2019, 12, 1)
end = date (2020, 12, 10)

for stock_name in stock:
     data = get_history(symbol=stock_name['close'], start=start, end=end)
     res[stock_name]=data

data2 = pd.DataFrame([res], index =[0])


wwwwww = pd.DataFrame.from_dict(res, orient='index')

因此,我做了进一步的搜索,找到了使用pandas将字典转换为数据帧的最简单的方法,并使用它,如图所示:

wwwwww = pd.DataFrame.from_dict(res, orient='index')
data2 = pd.DataFrame(res, index =[0])
import pandas as pd
import mysql.connector 
from nsepy import get_history
from datetime import date
stock =['3MINDIA','ABB','POWERINDIA','ACC','AIAENG'] //There are many values but I am including lesser values
res = dict(zip(stock,stock))
start = date (2019, 12, 1)
end = date (2020, 12, 10)

for stock_name in stock:
     data = get_history(symbol=stock_name['close'], start=start, end=end)
     res[stock_name]=data

data2 = pd.DataFrame([res], index =[0])


wwwwww = pd.DataFrame.from_dict(res, orient='index')
使用此选项,我得到一个值错误,如图所示:

wwwwww = pd.DataFrame.from_dict(res, orient='index')
data2 = pd.DataFrame(res, index =[0])
import pandas as pd
import mysql.connector 
from nsepy import get_history
from datetime import date
stock =['3MINDIA','ABB','POWERINDIA','ACC','AIAENG'] //There are many values but I am including lesser values
res = dict(zip(stock,stock))
start = date (2019, 12, 1)
end = date (2020, 12, 10)

for stock_name in stock:
     data = get_history(symbol=stock_name['close'], start=start, end=end)
     res[stock_name]=data

data2 = pd.DataFrame([res], index =[0])


wwwwww = pd.DataFrame.from_dict(res, orient='index')
ValueError:传递值的形状是(14501),索引暗示(1501)

因此,我进一步搜索,发现堆栈溢出的答案如下:

在这种情况下,字典作为行传递,如下所示:

data2 = pd.DataFrame([res], index =[0])
再次使用它,我得到一个乱码值,如图所示:

wwwwww = pd.DataFrame.from_dict(res, orient='index')
data2 = pd.DataFrame(res, index =[0])
import pandas as pd
import mysql.connector 
from nsepy import get_history
from datetime import date
stock =['3MINDIA','ABB','POWERINDIA','ACC','AIAENG'] //There are many values but I am including lesser values
res = dict(zip(stock,stock))
start = date (2019, 12, 1)
end = date (2020, 12, 10)

for stock_name in stock:
     data = get_history(symbol=stock_name['close'], start=start, end=end)
     res[stock_name]=data

data2 = pd.DataFrame([res], index =[0])


wwwwww = pd.DataFrame.from_dict(res, orient='index')

如何实现将字典中的所有数据帧提取到单个数据帧的任务?有没有什么有效的方法

如果需要代码,我附加如下所示:

wwwwww = pd.DataFrame.from_dict(res, orient='index')
data2 = pd.DataFrame(res, index =[0])
import pandas as pd
import mysql.connector 
from nsepy import get_history
from datetime import date
stock =['3MINDIA','ABB','POWERINDIA','ACC','AIAENG'] //There are many values but I am including lesser values
res = dict(zip(stock,stock))
start = date (2019, 12, 1)
end = date (2020, 12, 10)

for stock_name in stock:
     data = get_history(symbol=stock_name['close'], start=start, end=end)
     res[stock_name]=data

data2 = pd.DataFrame([res], index =[0])


wwwwww = pd.DataFrame.from_dict(res, orient='index')

由于字典中的值已经是数据帧,我认为您不想尝试将字典直接转换为数据帧。相反,迭代字典并将所有值添加到新的数据帧中

for key, df in res.items():
    # create a column called "key name"
    df['key_name'] = key

lst = list(res.values())
df = pd.concat(lst)
你在乎字典里的钥匙吗

如果没有一种可能的解决方案,那就是仅使用字典中的值创建一个列表,然后将其合并到具有的数据帧中

lst=list(res.values())
df=局部混凝土(lst)
如果您确实关心字典中的键,可以尝试将键作为列添加到每个数据帧中

for key, df in res.items():
    # create a column called "key name"
    df['key_name'] = key

lst = list(res.values())
df = pd.concat(lst)

我真的很在乎钥匙