26

pandas データ フレームのインデックスを削除または無効にするにはどうすればよいですか?

私は本「データ分析のためのpython」からパンダを学んでおり、dataframe.dropを使用して1列または1行をドロップできることをすでに知っています。しかし、すべてのインデックスを無効にすることについては何も見つかりませんでした。

4

5 に答える 5

4
d.index = range(len(d))

単純なインプレース インデックス リセットを実行します。つまり、既存のインデックスをすべて削除し、pandas データフレームが持つことができる最も基本的なインデックス タイプである基本的な整数型を追加します。

于 2015-03-12T05:02:05.260 に答える
1

インデックスのない CSV から DataFrame を取得して別のファイルに書き戻そうとすると、同様の問題が発生しました。

私は次のことを思いつきました:

import pandas as pd
import os

def csv_to_df(csv_filepath):
    # the read_table method allows you to set an index_col to False, from_csv does not
    dataframe_conversion = pd.io.parsers.read_table(csv_filepath, sep='\t', header=0, index_col=False)
    return dataframe_conversion

def df_to_excel(df):
    from pandas import ExcelWriter
    # Get the path and filename w/out extension
    file_name = 'foo.xlsx'
    # Add the above w/ .xslx
    file_path = os.path.join('some/directory/', file_name)
    # Write the file out
    writer = ExcelWriter(file_path)
    # index_label + index are set to `False` so that all the data starts on row
    # index 1 and column labels (called headers by pandas) are all on row index 0.
    df.to_excel(writer, 'Attributions Detail', index_label=False, index=False, header=True)
    writer.save()
于 2015-05-13T15:09:01.853 に答える
0

私はいくつかを助けるかもしれない機能を持っています。Pythonで次の方法でcsvファイルをヘッダーと結合します。

    def combine_csvs(filedict, combined_file):
        files = filedict['files']
        df = pd.read_csv(files[0])
        for file in files[1:]:
            df = pd.concat([df, pd.read_csv(file)])
        df.to_csv(combined_file, index=False)
        return df

必要な数のファイルを使用できます。これを次のように呼び出します。

    combine_csvs(dict(files=["file1.csv","file2.csv", "file3.csv"]), 'output.csv')

または、Python でデータフレームを次のように読み取っている場合:

    df = combine_csvs(dict(files=["file1.csv","file2.csv"]), 'output.csv')

Combine_csvs 関数はインデックスを保存しません。インデックスが必要な場合は、代わりに「index=True」を使用してください。

于 2014-07-29T02:21:56.080 に答える