不使用列表将值从一个数据框插入另一个数据框?

时间:2018-04-02 16:02:48

标签: python pandas

我的格式为dictionary

cust_dict = {ABC:['Particulars','Date'], BCD:['Particulars','Date']}

'Particulars''Date'DataFrame的列,即ABCBCD

我想在列中插入一个单独的DataFrame df,我试过了

for index,row in df.iterrows():
     cust_name = row['Particulars']
     cust_dict[cust_name]['Particulars'] = row['Particulars']
     cust_dict[cust_name]['Date'] = row['Date']

它只是不起作用。

我已尝试assignat

我不确定我做错了什么。

1 个答案:

答案 0 :(得分:1)

您的词典中包含每个列表。所以,您可以通过以下方式解决问题:

import plotly.graph_objs as go
import plotly.plotly as py
import plotly.figure_factory as ff
import plotly.offline as offline
from plotly import tools
import numpy as np

data0 = list(np.random.normal(-5,.5,25))
data1 = list(np.random.normal(-3.5,1,25))
data2 = list(np.random.normal(0,2,25))
data3 = list(np.random.normal(1,1,25))
data4 = list(np.random.normal(5,3,25))
data5 = list(np.random.normal(7,5,25))
index = list(range(0,len(data0),1))

spectra = [
index,
data0,
data1,
data2,
data3,
data4,
data5
]

spectra = np.transpose(spectra)

traces1 = []
y_raw = spectra[:, 0] # wavelength
sample_size = spectra.shape[1]-1
for i in range(1, sample_size):
z_raw = spectra[:, i]
x = []
y = []
z = []
ci = int(255/sample_size*i) # ci = “color index”
for j in range(0, len(z_raw)):
    z.append([z_raw[j], z_raw[j]])
    y.append([y_raw[j], y_raw[j]])
    x.append([i*2, i*2+1])
    traces1.append(dict(
    z=z,
    x=x,
    y=y,
    colorscale=[ [i, 'rgb(100,%d,255)'%ci] for i in np.arange(0, 1.1, 0.1)],
    showscale = False,
    showlegend = True,
    type='surface',
))

# First subplot
fig1 = {'data':traces1, 'layout':{'title':'Ribbon Plot'}}
div1 = offline.plot(fig1, filename='Distplot with Multiple Datasets',show_link=False, include_plotlyjs=False, output_type='div')

traces2 = [data0, data1, data2, data3, data4, data5]

group_labels = ['a0', 'a1', 'a2', 'a3', 'a4', 'a5']
# Second subplot

fig2 = ff.create_distplot(traces2, group_labels, bin_size=.2)
div2 = offline.plot(fig2, filename='Distplot with Multiple Datasets', show_link=False, include_plotlyjs=False, output_type='div')

希望有帮助...