2
我首先在垂直方向生成一些數據,但是想將它們轉換爲行數據,然後將它們像熊貓數據框一樣堆疊到一個數組中。我如何獲得4欄('fr','en','ir','ab')和三行熊貓數據框的最終產品?如何將經常性垂直列轉換爲行,而不是將它們堆疊在Python/Pandas中?
# coding=utf-8
import pandas as pd
from pandas import DataFrame, Series
import numpy as np
import nltk
import re
import random
from random import randint
import csv
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# Get csv file into data frame
data = pd.read_csv("FamilySearchData_All_OCT2015_newEthnicity_filledEthnicity_processedName_trimmedCol.csv", header=0, encoding="utf-8")
df = DataFrame(data)
columns = ['fr', 'en', 'ir', 'ab']
classes = ['ethnicity2', 'Ab_group', 'Ab_tribe']
df_count = DataFrame(columns=columns)
for j in classes:
for i in columns:
ethnicity_tar = str(i)
count = 0
try:
count = df[str(j)].value_counts()[ethnicity_tar]
except Exception as e:
count = ''
print ethnicity_tar, count
輸出:
fr 1554455
en 1196932
ir 941852
ab 95131
fr 1554444
en 16000
ir 940850
ab 9371
fr 1554600
en 2196931
ir 940957
ab 9399
我想在最後什麼:
fr en ir ab
1554455 1196932 941852 95131
1554444 16000 940850 9371
1554600 2196931 940957 9399
(這將有助於明晰,如果在你的榜樣的價值是獨一無二的,例如1554483,1554484,1554485) – smci
這些值將從一些函數中派生出來,因此每行和每列都會有所不同。只使用重複值作爲演示。我會改變它們的清晰度 – KubiK888