alex_bn_lee

导航

[1060] Create the unique ID from the index (DataFrame, GeoDataFrame)

There are several ways to implement it! Here is a sample dataset:

import pandas as pd

# Sample DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3, 4],
    'B': [None, 5, None, 7]
})

1. pd.Series()

# Convert the index to a Series like a column of the DataFrame
df["UID"] = pd.Series(df.index).apply(lambda x: "UID_" + str(x).zfill(6))

print(df)

output:

          UID  A    B
0  UID_000000  1  NaN
1  UID_000001  2  5.0
2  UID_000002  3  NaN
3  UID_000003  4  7.0

2. list 

# Do the operation in the list
df["UID"] = ["UID_" + str(ind).zfill(6) for ind in list(df.index)]

print(df)

3. df.reset_index()

# Reset the index and create a new column 'ID' from the index
df = df.reset_index().rename(columns={'index': 'UID'})

# Add the prefix 'UID_' to the ID values
df['UID'] = 'UID_' + df['UID'].astype(str).apply(lambda x: x.zfill(6))

print(df)

The reset_index() function in pandas is used to reset the index of a DataFrame. By default, it resets the index to the default integer index and converts the old index into a column. 

 

posted on 2024-09-11 12:47  McDelfino  阅读(31)  评论(0)    收藏  举报