首页 > 解决方案 > 如何拆分熊猫数据框?

问题描述

id  state   city
1   0   0
2   13  9
3   118 2524
4   20  0
5   0   0
6   3   8
7   0   0
8   10  26
9   0   0
10  6   13
11  0   0

我想将数据框分成 2 个。一个包含州和城市列为 0,另一个包含州和城市代码。然后在获取州和城市“0”的 id 值后,将其附加到原始数据帧中。

标签: python

解决方案


AFAIU,您需要两个数据框(一个的州和城市列为 0)和另一个(其中包含州和城市代码)。

import pandas as pd
import numpy as np

columns = ['state','city']
stateList = [0,13,18,20,0,3,0,10,0,6,0]
cityList = [0,9,2524,0,0,8,0,26,0,13,0]


newList = list(zip(stateList,cityList))
data = np.array(newList)
# print(data)
df = pd.DataFrame(data, columns=columns)
df_zero = df.loc[(df['state'] == 0) & (df['city'] == 0)]
print("Printing the zero valued dataframe: ")
print(df_zero)

df_non_zero = df.loc[(df['state'] != 0) & (df['city'] != 0)]
print("Printing the non-zero valued dataframe: ")
print(df_non_zero)

print("Printing the index values of zero valued dataframe: ")
print(df_zero.index.values)

输出: 在此处输入图像描述


推荐阅读