Eli*_*eph 6 python python-2.7 pandas
list_1 =[1, 2, 3, 4 ]
def fun(list_1):
for each value in list1:
# perform some operation and create a new data frame(pandas) for each value in the list
# so in total I should get 4 data frames.
yield new_data_frame
Run Code Online (Sandbox Code Playgroud)
当我调用 fun(list_1) 时,我得到 4 个数据帧,一个接一个:
data_frame_1
data_frame_2
data_frame_3
data_frame_4
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我需要垂直组合 pandas 数据框怎么办?
data_frame_1
+
data_frame_2
+
data_frame_3
+
data_frame_4
Run Code Online (Sandbox Code Playgroud)
EdC*_*ica 13
将它们存储在列表中,然后pd.concat(df_list, ignore_index=True)
或者
pd.concat([data_frame_1, data_frame_2, data_frame_3, data_frame_4],ignore_index=True)
操作系统更简单,只需将 fun 作为 arg 传递给pd.concat:
In [8]:
list_1 = [1,2,3,4]
def fun(list_1):
for each_value in list_1:
# perform some operation and create a new data frame(pandas) named "new_data_frame" for each value in the list
yield pd.DataFrame({'a':[each_value]})
pd.concat(fun(list_1), ignore_index=True)
Out[8]:
a
0 1
1 2
2 3
3 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22939 次 |
| 最近记录: |