我是python新手,我想从下面的两个列表中创建一个dataframe。
my_foldername = ['folder1','folder2']
my_filetype = ['avi.txt','bmp.txt','exe.txt','avi.txt','bmp.txt','exe.txt']
下面是我当前代码行。
df = pd.DataFrame(list(zip(my_hostname,my_fileType)))
我想要这样的产品。
| -------- | -------- | -------- | -------- |
|FolderName| AVI | BMP | EXE |
| -------- | -------- | -------- | -------- |
| folder1 | avi.txt | bmp.txt | exe.txt |
| -------- | -------- | -------- | -------- |
| folder2 | avi.txt | bmp.txt | exe.txt |
| -------- | -------- | -------- | -------- |
3条答案
按热度按时间xuo3flqw1#
您可以像以前那样使用
zip
,但首先需要将第二个列表分成块。在python 3.12+中,这可以通过itertools.batched
轻松完成:输出量:
如果你没有最新的python版本(<3.12),请使用
batched
方法:或者,使用一个简单的循环和
enumerate
:niwlg2el2#
可以使用
numpy.reshape
将my_filetype
更改为2 x 3数组:如果
my_filetype
有更多的元素,并且你不想手动计算行数,你可以提供-1来告诉numpy为你做这件事:hgb9j2n63#
您可以先创建一个字典,然后使用Pandas库将其转换为DataFrame,如下所示:
这是上面代码的输出: