用相同名称的循环解析数据

时间:2019-02-27 01:29:43

标签: python pandas csv dataframe

尝试从csv文件进行相同的解析。

1  Xe   Xe   Xe   Xe   Xe    Zi   Zi   Zi   Zi    Zi
2  A    B    C    D    WOW   E    F    G    L    WOW
3
4
5                      data                     data2
6

试图解析“索引5和列WOW上的数据。所以我尝试了

df = pd.read_csv("wow.csv", index_col=0, header=1)

data = df.loc[5, 'WOW']

它实际上在工作,但是只是给我第一WOW的数据,而不是第二或第三... 如何循环并获取所有WOW数据?

3 个答案:

答案 0 :(得分:1)

使用df.loc

df.loc[5,df.loc[2]=='WOW']

答案 1 :(得分:0)

cts.nearQuery

a.csv

from pandas import DataFrame, read_csv
import pandas as pd

file = 'a.csv'
df = pd.read_csv(file)
for data in df.iterrows():
    print(data)

答案 2 :(得分:0)

我有95%的把握,一旦您将第二和第三WOW列中的数据读入DataFrame就会丢失。

Pandas read_table with duplicate names

https://github.com/pandas-dev/pandas/issues/9424

您将不得不找到一种不同的方式来读取文件...

编辑

人们一直在发布有关如何在WOW是列数据的一部分时查找数据的解决方案,但是OP的代码在Set<String> singles = new HashSet<>(map.values()); for(String element : singles) { System.out.println(element + ": " + Collections.frequency(map.values(), element)); } 中包含了header=1,因此存在问题是WOW 成为列索引。您不能有两个具有相同索引的列。如果只有我有足够的声誉点,我会在帖子中对此发表评论。

编辑2

好吧,那真是令人头疼,我们之间有一个完整的答案:解决OP问题的方法是:1)在pd.read_csv调用中摆脱header=1,即从中删除那些WOW列标题,然后2)使用@ Wen-Ben发布的解决方案,该解决方案在进行此修改后即可使用。