Python 将csv行转换为列
所以我有一个csv文件,看起来像这样Python 将csv行转换为列,python,csv,Python,Csv,所以我有一个csv文件,看起来像这样 1 a 2 b 3 c 我想让它看起来像这样 1 2 3 a b c 我不知道如何使用python3实现这一点,有人有什么想法吗?非常感谢你正在和熊猫一起阅读csv吗?您始终可以使用numpy或pandas转置 import numpy as np ar1 = np.array([[1,2,3], ['a','b','c']]) ar2 = np.transpose(ar1) Out[22]: array([['1', '
1 a
2 b
3 c
我想让它看起来像这样
1 2 3
a b c
我不知道如何使用python3实现这一点,有人有什么想法吗?非常感谢你正在和熊猫一起阅读csv吗?您始终可以使用numpy或pandas转置
import numpy as np
ar1 = np.array([[1,2,3], ['a','b','c']])
ar2 = np.transpose(ar1)
Out[22]:
array([['1', 'a'],
['2', 'b'],
['3', 'c']],
dtype='<U11')
将numpy导入为np
ar1=np.array([[1,2,3],'a','b','c']]
ar2=np.转置(ar1)
出[22]:
数组(['1','a'],
['2','b'],
[3','c']],
dtype='正如其他人所提到的,pandas
和transpose()
是这里的方法。下面是一个示例:
import pandas as pd
input_filename = "path/to/file"
# I am using space as the sep because that is what you have shown in the example
# Also, you need header=None since your file doesn't have a header
df = pd.read_csv(input_filename ), header=None, sep="\s+") # read into dataframe
output_filename = "path/to/output"
df.transpose().to_csv(output_filename, index=False, header=False)
说明:
read\u csv()
将文件内容加载到一个数据框中,我称之为df
。这就是df
的样子:
>>> print(df)
0 1
0 1 a
1 2 b
2 3 c
>>> print(df.transpose())
0 1 2
0 1 2 3
1 a b c
您想切换行和列,我们可以通过调用transpose()
来实现。以下是转置的dataframe
的外观:
>>> print(df)
0 1
0 1 a
1 2 b
2 3 c
>>> print(df.transpose())
0 1 2
0 1 2 3
1 a b c
现在将转置的dataframe
写入一个文件,并使用to_csv()
方法。通过指定index=False
和header=False
,我们将避免写入标题行和索引列。构建一个x和y索引切换的2D数组?然后保存数组。问题出在哪里?读取数据帧并转置。可能的重复