Я пытаюсь создать новый df, который обобщает мою ключевую информацию, беря эту информацию из 3 (скажем) других кадров данных.
dfdate = {'x1': [2, 4, 7, 5, 6],
'x2': [2, 2, 2, 6, 7],
'y1': [3, 1, 4, 5, 9]}
dfdate = pd.DataFrame(df, index=range(0:4))
dfqty = {'x1': [1, 2, 6, 6, 8],
'x2': [3, 1, 1, 7, 5],
'y1': [2, 4, 3, 2, 8]}
dfqty = pd.DataFrame(df2, range(0:4))
dfprices = {'x1': [0, 2, 2, 4, 4],
'x2': [2, 0, 0, 3, 4],
'y1': [1, 3, 2, 1, 3]}
dfprices = pd.DataFrame(df3, range(0:4))
Допустим, вышеупомянутые 3 кадра данных являются моими данными. Скажем, некоторые даты, кол-во и цены на товары. Мой новый df должен быть построен из приведенных выше данных:
rng = len(dfprices.columns)*len(dfprices.index) # This is the len of new df
dfnew = pd.DataFrame(np.nan,index=range(0,rng),columns=['Letter', 'Number', 'date', 'qty', 'price])
Так вот, здесь я изо всех сил пытаюсь собрать свои вещи вместе. Я пытаюсь взять все данные в dfdate и поместить их в столбец в новом df. то же самое с dfqty и dfprice. (таким образом, матрицы 3x5 по существу переходят в вектор 1x15 и помещаются в новый df).
Кроме того, мне нужна пара столбцов в dfnew в качестве идентификаторов из имен столбцов старого df.
Я пробовал циклы, но безрезультатно, и не знаю, как преобразовать df в ряд. Но мой желаемый результат:
dfnew:
'Lettercol','Numbercol', 'date', 'qty', 'price'
0 X 1 2 1 0
1 X 1 4 2 2
2 X 1 7 6 2
3 X 1 5 6 4
4 X 1 6 8 4
5 X 2 2 3 2
6 X 2 2 1 0
7 X 2 2 1 0
8 X 2 6 7 3
9 X 2 7 5 4
10 Y 1 3 2 1
11 Y 1 1 4 3
12 Y 1 4 3 2
13 Y 1 5 2 1
14 Y 1 9 8 3
где цифры 0-14 являются индексом.
буква = буква из заголовка col в DFs
число = число из заголовка col в DFs
Следующие 3 столбца - это данные из оригинального файла
(не спрашивайте, почему исходные данные имеют такой забавный формат:)
Большое спасибо. мой последний вопрос не был хорошо принят, поэтому попытался сделать его лучше, спасибо