从 pandas 系列创建列表
Creating a list from series of pandas
Click here for the image我正在尝试创建一个包含 3 个不同系列的列表,其形状为“({A} {B} {C})”,其中 A 表示系列 1 中的第一个元素, B 是系列 2 中的第一个元素,C 是系列 3 中的第一个元素,这样它应该创建一个包含 600 个元素的列表。
List 1 List 2 List 3
u_p0 1 v_p0 2 w_p0 7
u_p1 21 v_p1 11 w_p1 45
u_p2 32 v_p2 25 w_p2 32
u_p3 45 v_p3 76 w_p3 49
... .... ....
u_p599 56 v_p599 78 w_599 98
现在我要输出列表如下
(1 2 7)
(21 11 45)
(32 25 32)
(45 76 49)
.....
这些是我根据数据框创建的 3 个系列
r1=turb_1.iloc[qw1] #List1
r2=turb_1.iloc[qw2] #List2
r3=turb_1.iloc[qw3] #List3
Pic of the series对于输出,我认为格式化字符串 python 方法会很有用,但我不太确定如何继续。
turb_3= ["({A} {B} {C})".format(A=i,B=j,C=k) for i in r1 for j in r2 for k in r3]
任何形式的帮助都会有用。
将pandas.DataFrame.itertuples
与str.format
一起使用:
# Sample data
print(df)
col1 col2 col3
0 1 2 7
1 21 11 45
2 32 25 32
3 45 76 49
fmt = "({} {} {})"
[fmt.format(*tup) for tup in df[["col1", "col2", "col3"]].itertuples(False, None)]
输出:
['(1 2 7)', '(21 11 45)', '(32 25 32)', '(45 76 49)']
Click here for the image我正在尝试创建一个包含 3 个不同系列的列表,其形状为“({A} {B} {C})”,其中 A 表示系列 1 中的第一个元素, B 是系列 2 中的第一个元素,C 是系列 3 中的第一个元素,这样它应该创建一个包含 600 个元素的列表。
List 1 List 2 List 3
u_p0 1 v_p0 2 w_p0 7
u_p1 21 v_p1 11 w_p1 45
u_p2 32 v_p2 25 w_p2 32
u_p3 45 v_p3 76 w_p3 49
... .... ....
u_p599 56 v_p599 78 w_599 98
现在我要输出列表如下
(1 2 7)
(21 11 45)
(32 25 32)
(45 76 49)
.....
这些是我根据数据框创建的 3 个系列
r1=turb_1.iloc[qw1] #List1
r2=turb_1.iloc[qw2] #List2
r3=turb_1.iloc[qw3] #List3
Pic of the series对于输出,我认为格式化字符串 python 方法会很有用,但我不太确定如何继续。
turb_3= ["({A} {B} {C})".format(A=i,B=j,C=k) for i in r1 for j in r2 for k in r3]
任何形式的帮助都会有用。
将pandas.DataFrame.itertuples
与str.format
一起使用:
# Sample data
print(df)
col1 col2 col3
0 1 2 7
1 21 11 45
2 32 25 32
3 45 76 49
fmt = "({} {} {})"
[fmt.format(*tup) for tup in df[["col1", "col2", "col3"]].itertuples(False, None)]
输出:
['(1 2 7)', '(21 11 45)', '(32 25 32)', '(45 76 49)']