我有一个包含1000多列数据的xlsx文件。我想首先解析数据文件中的每一个第二列(可以包含数字和字母),然后从解析的数据中创建一个唯一的列表。
我是一个完整的菜鸟&尝试了“for”和“do while”循环,但都没有为我工作。
到目前为止,我有:
import pandas as pd
workbook = pd.read_excel('C:\Python27\Scripts\Data.xlsx')
worksheet = workbook.sheetname='Data'
for col in range(worksheet[0], worksheet[1300]):
print(col)
我想我需要附加数据并写入文本文件,然后从文本文件创建一个唯一的列表 - 我可以做第二部分,它只是将它放入我遇到问题的文本文件中。 / p>
由于
答案 0 :(得分:2)
您可以通过切片和使用步骤arg(即df.ix[:, ::2]
In [35]:
df = pd.DataFrame({'a':1, 'b':[1,2,3,4,5], 'c':[2,3,4,5,6], 'd':0,'e':np.random.randn(5)})
df
Out[35]:
a b c d e
0 1 1 2 0 -0.352310
1 1 2 3 0 1.189140
2 1 3 4 0 -1.470507
3 1 4 5 0 0.742709
4 1 5 6 0 -2.798007
这里我们每隔一列进行一次:
In [37]:
df.ix[:,::2]
Out[37]:
a c e
0 1 2 -0.352310
1 1 3 1.189140
2 1 4 -1.470507
3 1 5 0.742709
4 1 6 -2.798007
然后我们可以在整个df上调用np.unique
来获取所有唯一值的单个数组:
In [36]:
np.unique(df.ix[:,::2])
Out[36]:
array([-2.79800676, -1.47050675, -0.35231005, 0.74270934, 1. ,
1.18914011, 2. , 3. , 4. , 5. , 6. ])