如何解决“ValueError:无法从重复轴重新索引”?

时间:2021-05-02 18:56:18

标签: python pandas dataframe

我有一个包含多列的数据框,并试图找出其中一个列数据的局部最小值和最大值。为此,我使用以下代码

public class Semesters extends Fragment {
List mData;
RVFragment adapter;
RecyclerView recyclerView;

public Semesters() {
}

public static Semesters newInstance(int index, int position) {
    Semesters fragment = new Semesters();
    Bundle args = new Bundle();
    args.putInt("index", index);
    args.putInt("position", position);
    fragment.setArguments(args);
    return fragment;
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment, container, false);
    recyclerView = view.findViewById(R.id.recyclerView);
    LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
    recyclerView.setLayoutManager(layoutManager);
    adapter = new RVFragment(getContext(), mData);
    if (getArguments().getInt("index", 0) == 0) {
        mData = getCSList(getArguments().getInt("position", 0));
    } else if (getArguments().getInt("index", 0) == 1) {
        mData = getSTAList(getArguments().getInt("position", 0));
    }
    recyclerView.setAdapter(adapter);
    return view;
}

private List getCSList(int position) {
    List list = new ArrayList<>();
    if (position == 0) { //fragment one inside viewpager whenever item1 is clicked from the recyclerView 
        list.add(new SemesterModelClass("intro. to comp", "com101", "3"));
        list.add(new SemesterModelClass("digital electonics", "com112", "3"));
        list.add(new SemesterModelClass("intro to programming", "com113", "4"));
    } else if (position == 1) { //fragment two inside viewpager whenever item1 is clicked from the recyclerView 
        list.add(new SemesterModelClass("sem2", "com111", "3"));
        list.add(new SemesterModelClass("sem2", "com222", "5"));
        list.add(new SemesterModelClass("sem2", "com121", "4"));
    } else if (position == 2) { //fragment three inside viewpager whenever item1 is clicked from the recyclerView 
        list.add(new SemesterModelClass("sem3", "com111", "3"));
        list.add(new SemesterModelClass("sem3", "com222", "5"));
        list.add(new SemesterModelClass("sem3", "com121", "4"));
    } else if (position == 3) { //fragment four inside viewpager whenever item1 is clicked from the recyclerView 
        list.add(new SemesterModelClass("sem4", "com111", "3"));
        list.add(new SemesterModelClass("sem4", "com222", "5"));
        list.add(new SemesterModelClass("sem4", "com121", "4"));
    }
    return list;
}

private List getSTAList(int position) {
    List list = new ArrayList<>();
    if (position == 4) { //fragment one inside viewpager whenever item2 is clicked from the recyclerView 
        list.add(new SemesterModelClass("probability", "STA 111", "3"));
        list.add(new SemesterModelClass("algebra", "STA 112", "4"));
        list.add(new SemesterModelClass("logic", "STA 113", "3"));
        list.add(new SemesterModelClass("geometri func", "STA 114", "4"));
    } else if (position == 5) { //fragment two inside viewpager whenever item2 is clicked from the recyclerView 
        list.add(new SemesterModelClass("set theory", "STA 111", "3"));
        list.add(new SemesterModelClass("dedvwvdv", "STA 112", "4"));
        list.add(new SemesterModelClass("fbcfvdv", "STA 113", "3"));
        list.add(new SemesterModelClass("cvsvsdvs", "STA 114", "4"));
    } else if (position == 6) { //fragment three inside viewpager whenever item2 is clicked from the recyclerView 
        list.add(new SemesterModelClass("geo", "STA 111", "3"));
        list.add(new SemesterModelClass("semdvbv3", "STA 112", "4"));
        list.add(new SemesterModelClass("dedgsedv", "STA 113", "3"));
        list.add(new SemesterModelClass("frgs", "STA 114", "4"));
    } else if (position == 7) { //fragment four inside viewpager whenever item2 is clicked from the recyclerView 
        list.add(new SemesterModelClass("log", "STA 111", "3"));
        list.add(new SemesterModelClass("sem4fff", "STA 112", "4"));
        list.add(new SemesterModelClass("sem4gtgg", "STA 113", "3"));
        list.add(new SemesterModelClass("sem4uku", "STA 114", "4"));
    }
    return list;
}
}

它不会将这两个输出添加到同一个数据帧中并抛出问题中提到的错误。但是,如果我想将它保存到一个新的数据帧中,同样的代码可以工作,但我不想要。我知道在为局部最小值和最大值更新相同的数据帧时,它应该在所有其他位置放置“NaN”,但不知何故该命令不起作用。我还发现了一个类似的线程,它显示了一些随机数据帧的示例 (https://stackoverflow.com/a/48024165/13079994)。 请帮忙!

0 个答案:

没有答案
相关问题