[英]How to select list of list elememts and make different columns in a single dataframe?
List1 = [[1,A,!,a],[2,B,@,b],[7,C,&,c],[1,B,@,c],[4,D,#,p]]
输出应如下所示:
每个不同的列应包含每个子列表元素的1个值,例如
column1:[1,2,7,1,4]
column2:[A,B,C,B,D]
column3:[!,@,&,@,#]
column4:[a,b,c,c,p]
在同一数据框中
假设您实际上打算将List1设为this(所有元素都是字符串):
list1 = [["1","A","!","a"],["2","B","@","b"],["7","C","&","c"],["1","B","@","c"],["4","D","#","p"]]
我认为除了将List1传递给DataFrame构造函数外,您不需要执行任何其他操作。 有几种方法可以将信息传递给DataFrame。 使用列表列表可构造未命名的列。
print(pd.DataFrame(list1))
0 1 2 3
0 1 A ! a
1 2 B @ b
2 7 C & c
3 1 B @ c
4 4 D # p
给定以下列表文件:
l = [['1', 'A', '!', 'a'], ['2', 'B', '@', 'b'], ['7', 'C', '&', 'c'], ['1', 'B', '@', 'c'], ['4', 'D', '#', 'p']]
您可以使用pandas.Dataframe
进行如下转换:
import pandas as pd
pd.DataFrame(l, columns=['c1', 'c2', 'c3', 'c4'])
# columns parameter for passing customized column names
结果:
c1 c2 c3 c4
0 1 A ! a
1 2 B @ b
2 7 C & c
3 1 B @ c
4 4 D # p
正如评论(并由John L.的回答所说明), pandas.DataFrame
应该足够了。 如果您真正想要的是转置的数据帧,请尝试手动转置:
import pandas as pd
df = pd.DataFrame(List1).T
或预先使用zip
:
df = pd.DataFrame(list(zip(*List1)))
两者都返回:
0 1 2 3 4
0 1 2 7 1 4
1 A B C B D
2 ! @ & @ #
3 a b c c p
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.