Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.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数据帧_Python_Pandas_Dataframe - Fatal编程技术网

如何将每行列表元素插入Python数据帧

如何将每行列表元素插入Python数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有这3个变量(列表列表,距离除外): 我想使用以下代码将它们按行插入数据帧: import pandas as pd def make_dataframe(unique_pitch_result, pitch_class_result, distance_result, song_number): print(song_number) df = pd.DataFrame(columns=('unique-pitch', 'pitch-class', 'distance'))

我有这3个变量(列表列表,距离除外):

我想使用以下代码将它们按行插入数据帧:

import pandas as pd

def make_dataframe(unique_pitch_result, pitch_class_result, distance_result, song_number):
  print(song_number)
  
  df = pd.DataFrame(columns=('unique-pitch', 'pitch-class', 'distance'))

  for i in range(song_number):
    df.loc[i] = pd.Series({'unique-pitch': unique_pitch_result, 'pitch-class': pitch_class_result, 'distance': distance_result})
  
  return df
我希望得到这样的结果:

  unique-pitch                                        pitch-class                                                                      distance              
0 [0, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64] ['0', 'F3', 'F#3/Gb3', 'G3', 'G#3/Ab3', 'A3', 'A#3/Bb3', 'B3', 'C4', 'C#4/Db4', 'D4', 'D#4/Eb4', 'E4'] 2020.0
1 [0, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58]         ['0', 'C3', 'C#3/Db3', 'D3', 'E3', 'F3', 'F#3/Gb3', 'G3', 'G#3/Ab3', 'A3', 'A#3/Bb3']                  611.0
2 [0, 43, 44, 45, 46, 47, 48, 49, 50]                 ['0', 'G2', 'G#2/Ab2', 'A2', 'A#2/Bb2', 'B2', 'C3', 'C#3/Db3', 'D3']                                   1782.0
但我得到的却是:

                                         unique-pitch  ...                 distance
0   [[0, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 6...  ...  [2020.0, 611.0, 1782.0]
1   [[0, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 6...  ...  [2020.0, 611.0, 1782.0]
2   [[0, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 6...  ...  [2020.0, 611.0, 1782.0]

我应该如何修复函数
make_dataframe

对于通过变量获取子列表
I
,您需要索引
唯一的\u pitch_结果
pitch_class_结果

def make_dataframe(unique_pitch_result, pitch_class_result, distance_result, song_number):
  print(song_number)
  
  df = pd.DataFrame(columns=('unique-pitch', 'pitch-class', 'distance'))

  for i in range(song_number):
    df.loc[i] = pd.Series({'unique-pitch': unique_pitch_result[i], 'pitch-class': pitch_class_result[i], 'distance': distance_result[i]})
  
  return df

print (make_dataframe(unique_pitch_result, pitch_class_result, distance_result, song_number))
非循环备选方案和通过所有列表:

def make_dataframe(unique_pitch_result, pitch_class_result, distance_result, song_number):
    print(song_number)

    return pd.DataFrame({'unique-pitch': unique_pitch_result,
                        'pitch-class': pitch_class_result,
                        'distance': distance_result})
  


print (make_dataframe(unique_pitch_result, pitch_class_result, distance_result, song_number))
                                        unique-pitch  \
0  [0, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63...   
1        [0, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58]   
2                [0, 43, 44, 45, 46, 47, 48, 49, 50]   

                                         pitch-class  distance  
0  [0, F3, F#3 / Gb3, G3, G#3 / Ab3, A3, A#3 / Bb...   2020.0 
1  [0, C3, C#3 / Db3, D3, E3, F3, F#3 / Gb3, G3, ...    611.0  
2  [0, G2, G#2 / Ab2, A2, A#2 / Bb2, B2, C3, C#3 ...   1782.0 

距离也应该分开,但现在我知道怎么做了。非常感谢。
def make_dataframe(unique_pitch_result, pitch_class_result, distance_result, song_number):
    print(song_number)

    return pd.DataFrame({'unique-pitch': unique_pitch_result,
                        'pitch-class': pitch_class_result,
                        'distance': distance_result})
  


print (make_dataframe(unique_pitch_result, pitch_class_result, distance_result, song_number))
                                        unique-pitch  \
0  [0, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63...   
1        [0, 48, 49, 50, 52, 53, 54, 55, 56, 57, 58]   
2                [0, 43, 44, 45, 46, 47, 48, 49, 50]   

                                         pitch-class  distance  
0  [0, F3, F#3 / Gb3, G3, G#3 / Ab3, A3, A#3 / Bb...   2020.0 
1  [0, C3, C#3 / Db3, D3, E3, F3, F#3 / Gb3, G3, ...    611.0  
2  [0, G2, G#2 / Ab2, A2, A#2 / Bb2, B2, C3, C#3 ...   1782.0